什么是HTTP?
http是一种超文本传输协议
什么是传输协议?
定义了客户端和服务端的通信时,发送数据的格式
传输过程图解:
HTTP的特点
- 基于TCP/IP的高级协议,说明他是安全的
- 默认端口号为80
- 基于请求/响应模型的:一次请求对应一次响应
- 无状态的:就是每次请求之间相互独立,不能交互数据
HTTP的历史版本(了解就行)
- 1.0版本:每次请求响应都会建立新的连接,如果请求多的话,效率低
- 1.1版本:可以复用连接,解决了1.0的每一次请求响应建立一次新的连接的问题
请求消息的数据格式
1、请求行
格式如下
请求方式 请求url 请求协议/版本
例如:
GET /login.html HTTP/1.1
请求方式:
HTTP协议重有7重请求方式,常用的有两种,分别时GET和POST
他们的区别是
GET:
- 请求参数再请求行当中,再url后面
- 请求的url有长度的限制
- 相对于POST来说把请求参数显示再url后面不太安全
POST
- 请求参数在请求体当中
- 请求的url长度没有限制
- 相对于GET比较安全
2、请求头
浏览器告诉服务器一些信息
格式如下:
请求头名称:请求值
常见的请求头
- User-Agent:浏览器告诉服务器,我访问你使用的浏览器的版本信息。我们可以使用这个功能来解决浏览器的兼容性问题,我们服务器获取到浏览器的版本信息分别作出不同的应对
- Referer:http://localhost/login.html 浏览器告诉服务器我的当前请求从哪里来。这个的作用用于制作防盗链,或者统计工作
3、请求空行
其实就是空行,用于分割请求头和请求体
4、请求体
用于封装POST请求消息的请求体