图解HTTP解析2(HTTP协议)

1. HTTP协议

位于应用层上的请求->响应协议,并依赖TCP协议运行。

2. HTTP协议组成

HTTP协议由2部分组成,分别是请求报文与响应报文。
报文结构为:

  • 报文首部
  • 空行(CR+LF)
  • 报文主体
  • 而请求报文与响应报文是在此基础上添加请求行、状态行
图解HTTP解析2(HTTP协议)_第1张图片
请求报文与响应报文结构

3. 无状态协议

HTTP/1.1 引入了Cookie技术,使用Cookie进行状态管理,可用于保存登录状态,会根据服务器端的发送的响应报文的一个Set-Cookie首部字段信息,通知客户端保存Cookie,当下次客户端再次发起请求时,会自动在报文中加如Cooke并发出

3.1 当别人问你什么是Cookie?你这样答!

Cookie是HTTP/1.1版本引入的一种状态管理技术,可用于保存登录状态,与它相关的首部字段有两个,一个是在响应报文的Set-Cookie,另一个是请求报文的Cookie

4. 请求方法

HTTP/1.1可用的方法

方法名 说明
GET 获取资源,文本直接返回,CGI通用网关接口执行后返回
POST 传输实体主体,虽然get也可以,但不推荐
PUT 传输文件时,要求在请求报文主体中包含文件,然后保存到URL特定位置,由于该方法不带验证机制,一般不使用。
HEAD 获取报文首部,用于确认URL的有效性及资源更新问题的日期。
DELETE 删除文件,请求URL删除特定资源
OPTIONS 询问支持的方法
TRACE 追踪路径,让服务器将之前的请求通信环回给客户端,追踪数据包的代理中转站
CONNECT 要求隧道协议链接代理,要求与服务器之间建立隧道实现TCP通信,主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后传输
LINK 已废弃
UNLINK 已废弃

5. 管线化

能够同时发送多个请求,不需要等响应完成后才发送

6. 持久化链接

多个请求发起获取资源,每次建立TCP连接和断开,增加开销,在HTTP/1.1 默认开启HTTP keep-alive,在HTTP/1.0 HTTP connection reuse,只要任意一方明确没有断开连接,则保持TCP连接状态

你可能感兴趣的:(图解HTTP解析2(HTTP协议))