锻炼吃饭的家伙Java技术升华大数据

深入理解Http协议

2018-05-09  本文已影响362人  maskwang520
1. HTTP概述

HTTP是一种允许获取资源的协议,例如HTML文档。 它是Web上的任何数据交换和客户端 - 服务器协议的基础,这意味着请求由接收者(通常是Web浏览器)发起。 一个完整的文档是根据不同的子文档重新获得的,例如文本,布局描述,图像,视频,脚本等等。
通常我们通过http协议获取如下的内容.


image.png

客户和服务器通过交换单个消息进行通信(而不是数据流)。 客户端发送的消息(通常是Web浏览器)称为请求,服务器发送的消息作为答复称为响应。整个协议层次图如下.


image.png
2. 基于HTTP协议的系统的组件

HTTP是一种客户端 - 服务器协议:请求由一个实体,用户代理(或代表它的代理)发送。 大多数情况下,用户代理是一个Web浏览器,但它可以是任何东西,例如抓取Web以填充和维护搜索引擎索引的机器人。


image.png
3. HTTP协议的基本特性
4. HTTP可控的特性
5. HTTP流动

当客户想要与服务器通信时,无论是最终服务器还是中间代理,它都会执行以下步骤:

6. HTTP消息

HTTP / 1.1和更早版本的HTTP消息是人类可读的。 在HTTP / 2中,这些消息被嵌入到一个新的二进制结构,一个框架中,允许优化压缩报头和复用。 即使在这个版本的HTTP中只发送了部分原始HTTP消息,每个消息的语义仍然保持不变,客户端重新构建(虚拟)原始的HTTP / 1.1请求。 因此,理解HTTP / 1.1格式的HTTP / 2消息很有用。

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
(3) 响应消息码所代表的意思
(4) HTTP头部(与请求消息体一样)
(5) 可选的由服务器返回的资源

参考文档:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

延伸阅读(参考我的两篇文章)
HTTP/2 新特性总结
深入理解HTTPS协议

上一篇 下一篇

猜你喜欢

热点阅读