HTTP
目录
Http
-
http 概念:hyper text transfer protocol 超文本传输协议
-
传输协议:定义了客户端和服务器端通信时发送数据的格式
-
特点:
- 基于 tcp/ip 的高级协议
- 默认端口号:80 例如 https:域名:80(默认不写)
- 基于 request/response 的模型:一次请求对应一次响应
- 无状态的:每次请求之间相互独立,不能交互数据
-
历史版本:
0.9
0.9 协议是适用于各种数据信息的简洁快速协议,但是远不能满足日益发展的各种应用的需要。0.9 协议就是一个交换信息的无序协议,仅仅限于文字。由于无法进行内容的协商,在双发的握手和协议中,并有规定双发的内容是什么,也就是图片是无法显示和处理的。
1.0
到了 1.0 协议阶段,也就是在 1982 年,TimBerners-Lee 提出了 HTTP/1.0。在此后的不断丰富和发展中,HTTP/1.0 成为最重要的面向事务的应用层协议。该协议对每一次请求/响应建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。
1.1
在 1.0 协议中,双方规定了连接方式和连接类型,这已经极大扩展了 HTTP 的领域,但对于互联网最重要的速度和效率,并没有太多的考虑。毕竟,作为协议的制定者,当时也没有想到 HTTP 协议会有那么快的普及速度。
2.0
HTTP2.0 的前世是 HTTP1.0 和 HTTP1.1。虽然之前仅仅只有两个版本,但这两个版本所包含的协议规范之庞大,足以让任何一个有经验的工程师为之头疼。网络协议新版本并不会马上取代旧版本。实际上,1.0 和 1.1 在之后很长的一段时间内一直并存,这是由于网络基础设施更新缓慢所决定的。
-
-
请求消息的格式
-
请求行
-
请求行的格式:(http 有 7 种请求方式,常用 get 和 post 请求方式)
请求方式 请求 url 请求协议/版本
例如:GET /login.html HTTP/1.0
-
请求方式的区别
- http 协议中的的 GET 和 POST:参数位置不同
- GET:
- 请求参数在请求行中,在 url 后面,无请求体
- 请求的 url 长度有限制
- 安全性低
- POST:
- 请求参数在请求体中
- 请求的 url 长度没有限制
- 安全性高
- GET:
- http 协议中的的 GET 和 POST:参数位置不同
-
-
请求头:客户端浏览器告诉服务器一些信息
常见
- User-Agent:浏览器告诉服务器,访问你使用的浏览器版本信息
- 可以在服务器端获取该头的信息,解决浏览器的兼容性的问题
- Referer:告诉服务器,我从哪里来
- 作用
- 防盗链
- 统计工作
- 作用
- User-Agent:浏览器告诉服务器,访问你使用的浏览器版本信息
-
请求空行
- 空行
-
请求体(正文)
- 封装 POST 请求消息的请求参数的
-