概念
HTTP : Hyper Text Transfer Protocol 超文本传输协议
超文本传输协议
传输协议:定义了客户端和服务器端通讯时,发送数据的格式
特点
1.基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的:一次请求对应一次响应
4. 无状态的:每次请求之间,相互独立,不能交互数据
历史版本:
1.0 :每一次请求都会建立新的连接
1.1 :复用连接,对缓存的支持比较好。
请求消息数据格式
格式
1.请求行
请求方式 请求url 请求协议/版本
GET /2_Servlet4_0_war_exploded/s3 HTTP/1.1
*请求方式:
HTTP协议中有7中请求方式,常用的2
GET :
1.请求参数在请求行中,在url后
2.请求的url长度有限制
3.不太安全
POST:
1.请求参数在请求体中
2.请求的url长度没有限制(文件上传)
3.相对安全
2.请求头
客户端浏览器告诉服务端的一些信息
请求头名称 :请求值
*常见的请求头:
1.User-Agent:浏览器告诉服务器,我访问你时使用的浏览器版本信息
*可以在服务器端获取该头的信息,解决浏览器的兼容性问题
2.Referer:url
*告诉服务器,我(当前请求)从哪里来?
作用:
1.防盗链
2.统计的工作
3.请求空行
空行(分割POST请求的请求头和请求体)
4.请求体(正文)
封装POST请求消息的请求参数的
字符串格式
GET /2_Servlet4_0_war_exploded/s3 HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cookie: Idea-41e9004a=83460dde-8447-48d3-bfc3-ed6bae83b943
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
user=zhaoyun