HTTP概念:Hyper Text Transfer Protocol 超文本传输协议
传输协议:定义了客户端和服务器端通信时发送数据的格式
特点:1.基于TCP/IP的高级协议,要经过三次握手,说明也是一种安全的协议
2.默认端口号是80 http://www.baidu.com:80=http://www.baidu.com
3.基于请求响应的模型,意味着每发送一次请求都会有对应一个响应
4.无状态的:每次请求之前相互独立,不能交互数据
- 版本1.0:每一次请求响应都会建立新的连接,连接结束后断开,又重新连接
- 1.1复用连接,规定时间内如果有请求响应继续执行,到时间结束后就停止
- 请求消息的数据格式(分为4部分)
1.请求行:请求方式 请求url 请求协议/版本
GET/login.html HTTP/1.1
请求方式:HTTP协议中有7种请求方法,常用的有两种
- GET:请求参数携带在请求行中,即在url那一串资源路径的后面
- 请求的url长度有限制,不安全
- POST:请求参数在请求体中,通过本地抓包可以看到,其实就是位置不一样,但是安全是相对的,都可以抓到这个包
- 请求的url长度无限制,相对安全
2.请求头: 请求头名:请求头值-->相当于键值头,相当于告诉服务器说我浏览器存在的一些信息
介绍几个简单的键值头:
1.User-Agent:浏览器告诉服务器,我访问你的时候使用的浏览器版本信息,可以在服务器端获取该头的信息,有效解决浏览器的兼容性问题,不同浏览器有不同的版本,服务器那边会进行判断给不一样浏览器获取一样的资源
2.Referer:http://localhost/login.html
告诉服务器,我(当前的请求)从哪里来?
防止盗链
做一些统计工作
3.请求空行
做分隔作用,就是一个空行,用于分隔POST请求的请求头,和请求体的
4.请求体(封装POST请求消息的请求参数,GET无这个)
就是参数 格式:变量=参数
username=zhangsan