简单了解HTTP协议

通过请求和响应的交换达成通信

HTTP协议和其他TCP协议一样,用于客户端和服务器之间的通信。

客户端:请求资源的一方 服务端:提供资源响应的一方

所以应用HTTP协议的一方一定是客户端。

这里写图片描述

请求报文的结构

GET 表示资源请求方式,在html的form表单里成为method。

/index.thm 指明了访问资源对象 。

HTTP/1.1 表示我们使用HTTP的版本,这里是1.1的版本

这里写图片描述

响应报文的结构

这里写图片描述

HTTP/1.1 HTTP协议的版本号。

200 OK 协议处理的状态码

扫描二维码关注公众号,回复: 2282535 查看本文章

下一行显示了创建响应的日期时间, 是首部字段(header field) 内的一个属性。

接着以一空行分隔, 之后的内容称为资源实体的主体(entity body) 。

响应报文基本上由协议版本、 状态码(表示请求成功或失败的数字代码) 、 用以解释状态码的原因短语、 可选的响应首部字段以及实体主体构成。 稍后我们会对这些内容进行详细说明。

这里写图片描述

HTTP是无状态协议

HTTP不会对通信状态进行保存,经过一次请求响应,就删除响应记录。 这样有利于快速的处理大量事务,但也造成了许多问题,如登录状态无法保存,购物车等问题。

HTTP/1.1 虽然是无状态协议, 但为了实现期望的保持状态功能, 于是引入了 Cookie 技术。 有了 Cookie 再用 HTTP 协议通信, 就可以管理状态了。 有关 Cookie 的详细内容稍后讲解。

HTTP 可用的动作方法(有疑问,待修改)

这里写图片描述

持久连接节省通信量

在之前版本中,每次请求结束后都会断开TCP连接,这种形式,在以前,因为请求的资源少,这样倒是没问题。

但现在我们会请求很多资源。

比如, 使用浏览器浏览一个包含多张图片的 HTML页面时, 在发送请求访问 HTML页面资源的同时, 也会请求该 HTML页面里包含的其他资源。 因此, 每次的请求都会造成无谓的 TCP 连接建立和断开, 增加通信量的开销。

所以在HTTP/1.1中建立了的持久连接的机制

这里写图片描述

持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销, 减轻了服务器端的负载。 另外, 减少开销的那部分时间, 使HTTP 请求和响应能够更早地结束, 这样 Web 页面的显示速度也就相应提高了。

管线化(同时进行多次http请求)

猜你喜欢

转载自blog.csdn.net/qq_36172443/article/details/80278529