一、HTTP协议的主要特点
① 简单快速 每个资源是固定的(有固定url)
② 灵活 通过一个HTTP协议可以完成不同的数据类型传输
③ 无连接 连接一次就会断掉,不会保持连接
④ 无状态 客户端和服务端不会保持连接,记录状态。无法区分多次连接是否是同一人
补充: 1)URI(Uniform Resource Identifier / 统一资源定位符) 用来唯一标识互联网上的信息资源。 包含URL 和 URN。
① URL (Uniform Resource Locator / 统一资源定位器)
例子: http://user:pass@host.com:80/path?query=string#hash
协议://用户认证@服务器:端口(web服务器)/ 路由?参数#锚点定位
②URN(永久资源定位符) 使用较少
在资源移动之后还能被找到
二、HTTP报文的组成部分
1)请求报文
请求行: 一般包含请求网址URL、状态码、HTTP版本号、 请求方法(post、get、put、delete)
请求头: 一般是一些键值对信息
空行: 用来判断请求头是否结束,并开始识别请求体
请求体:传输的内容
2)响应报文
状态行(响应头):一般包含协议、状态
响应头:服务器返回给客户端的 服务器信息,返回的数据信息
空行:判断是否响应头是否结束
请求体:服务器返回给客户端的文件、数据等
如:
三、HTTP协议类
1)HTTP 方法
1) GET ———————————— 获取资源
2) POST ———————————— 传输资源
3) PUT ———————————— 更新资源
4) DELETE ———————————— 删除资源
5) HEAD ———————————— 获取报文首部
PUT、DELETE 不常用
最重要:POST 与 GET 的区别
1、3、5、6、9 比较重要 重点
2) HTTP 状态码
例子:
1. 200 OK: 客户端请求成功
2. 206 Partial Content: 客户发送了一个带有Range(范围)头的GET请求, 服务器完成了它
3. 301 Moved Permanently :所请求的页面已经转移至新的URL
4. 302 Found : 所请求的页面已经临时转移至新的URL
5. 304 Not Modified: 客户端有缓冲的文档并发出了一个条件性的请求, 服务器告诉客户, 原来缓冲的文档还可以继续 使用
3) 持久连接(1.1版本支持)
1. HTTP采用‘请求-应答’模式, 当使用普通模式, 即非Keep-Alive 模式时, 每个请求/应答客户和服务器都要新建一个连接, 完成之后立即断开连接(HTTP协议为无连接协议)
2. 当使用Keep-Alive模式时( 又称持久连接、连接重用 ) 时, Keep-Alive 功能使客户端到服务器端的连接持续有效, 当出现对服务器的后继请求时, Keep-Alive 功能避免了建立或者重新建立连接
4) 管线化 (扩展)
通道持久建立, 请求打包一次发出, 响应打包一次返回
详情:
以上内容来自某课网