HTTP协议
1.什么是HTTP协议
- 是一个基于请求和响应的应用层协议, 底层协议是TCP, 保证了数据的可靠传输。
- 通过url进行客户端与服务器之间数据的交互。
- 是一种C/S(B/S)模式的协议(B/S是浏览器/服务端模式是一种特殊的C/S), C/S客户端/服务端:客户端发送请求, 服务器接收并响应请求。
- 是无状态的协议(不记录用户的访问状态, 可以通过cookie会话技术告诉服务器用户状态)。
2.HTTP协议的流程
- 创建一个TCP链接(目的是确保客户端和服务器之间有一个可靠的数据通路)
三次握手:客户端向服务器发起一个信号以确认服务器是否空闲(或是否同意创建链接), 服务器返回给客户端是否哦可以创建连接的信号, 客户端在发起一个信号进而创建链接。 - 客户端向服务器发起HTTP请求, 通过请求头, 请求体把相关数据传递给服务器。
常见的请求方式有:get、post、 put、delete、put
请求头:包含了本次请求的配置信息(数据格式, cookie, 用户代理等)
请求体:即参数, 就是客户端要提交给服务器的内容
get请求和post请求的区别:
形式上:get请求的参数拼接在url后米娜, post不体现在url上
内容上:get请求提交的数据量有限制(不同浏览器对url最大限制不同)post请求对数据提交量没有限制。 - 服务器处理请求, 响应请求
- 关闭链接:每一次http请求与响应结束之后就会把本次创建的TCP链接关闭(短链接)
HTTP协议在1.1版本以后加入了长连接, HTTP请求结束以后, TCP链接不会立即关闭, 经过一段时间以后, 如果这个链接不再发生http请求, 再关掉
网友评论