HTTP协议总结
来源:互联网 发布:手机淘宝网电脑版登录 编辑:程序博客网 时间:2024/06/16 14:05
HTTP作为面向应用层协议,是网络文本、声音、图像等传输的重要基础。
一、网络通信模型
1、网络通信七层模型
每层直接为其上层提供服务,物理层-数据链路层-网络层主要用于创造两个网络设备间的物理连接,传输层-会话层-表示层-应用层主要负责交互性操作
2、网络TCP/IP模型
二、HTTP的工作流程——请求-响应式
一次HTTP操作称为一个事务,主要有以下4步:
1、客户机与服务器建立连接
2、客户机发送请求,请求(request)格式为url、协议版本号、修饰符等信息
3、服务器接收请求,返回响应信息,响应(response)格式为协议版本号、访问状态码等信息
4、客户端接收服务器返回信息,显示页面后,与服务器断开连接。
如果以上任一一步出错,那么产生的错误信息返回客户端显示即可。
三、HTTP参数
1、URL
统一资源定衣服,类似于JNDI,通过一个地址访问某个具体资源。例如 https://www.max.com/index.jsp
https:协议
www.max.com:存有该资源的主机IP地址
index.jsp:主机资源具体地址,如文件名、目录信息
2、request头信息
URL:资源地址
HTTP请求方式
请求状态
可接受的编码格式、文件类型
Cookie信息
3、常见的http请求
GET:请求数据
POST:更新数据
HEAD:请求中由request-uri表示的响应头信息
PUT:更新数据
DELETE:删除url资源
4、请求响应状态
200 ok客户端请求成功
400 bad request 客户端请求存在语法错误,不能被服务器理解
401 请求未经授权
403 服务器收到请求,但拒绝提供服务
404 请求资源不存在,例如请求的url错误
500 服务器发生不可预知错误
503 服务器当前不能处理客户端请求信息,一段时间后可能恢复正常
四、TCP/IP三次握手流程
http协议是基于TCP/IP协议之上的协议,而建立TCP连接需要进行3次握手之后, client和server才会建立连接。在建立TCP/IP握手过程中,使用SYN作为握手信号,ACK确认符表示发来的消息已接收确认无误。
1、 客户端向服务器发送SYN消息
2、 服务器使用SYN+ACK1应答返回,表示接收到了SYN消息
3、 客户端向服务器发送ACK2消息,表示我也就收到了你给我返回的SYN+ACK1消息。
这样三个消息传递成功后,则建立起了一个TCP/IP连接。
五、HTTP协议特点
1、客户端/服务器模式
2、响应快速,只需传输请求方式和url路径
3、允许传输任意类型的数据对象,有content-type标记
4、无连接:每次连接只处理一个请求,服务器处理完客户端请求后,即断开连接,节省传输时间
5、无状态:对事务处理没有记忆能力,后续处理需要前面的request信息,则必须重传
HTTP1.0 VS 1.1
1、1.0每次请求都需要建立一个新的TCP连接,即连接不能复用
2、1.1新的请求可以在上次请求的TCP连接上进行发送,连接可复用,从而减少TCP三次握手的开销,提高效率
3、1.1在request的头信息里增加了Host域和options 、put、delete、trace、connect这些request方法
HTTP2.0特点——多路复用(Multiplexing)
在 HTTP/1.1 协议中 「浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制。超过限制数目的请求会被阻塞」,而2.0提出的多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。
因此 HTTP/2 可以很容易的去实现多流并行而不用依赖建立多个 TCP 连接,HTTP/2 把 HTTP 协议通信的基本单位缩小为一个一个的帧,这些帧对应着逻辑流中的消息。并行地在同一个 TCP 连接上双向交换消息。
单连接多资源的方式,减少服务端的链接压力,内存占用更少,连接吞吐量更大。由于 TCP 连接的减少而使网络拥塞状况得以改善,同时慢启动时间的减少,使拥塞和丢包恢复速度更快。
详见http://www.360doc.com/content/16/0120/09/30136251_529253725.shtml
- 【总结】HTTP协议基础知识
- HTTP协议大概总结
- HTTP协议学习总结
- HTTP协议总结
- jsp总结--HTTP协议
- http协议-关联总结
- HTTP协议复习总结
- HTTP协议复习总结
- HTTP协议总结
- http协议简单总结
- http协议详细总结
- HTTP协议总结
- http协议学习总结
- Http协议学习总结
- HTTP协议学习总结:
- HTTP协议详细总结
- http协议总结
- http协议总结笔记
- 创业如何回答:如果腾讯做了你怎么办?
- JavaScript-翻牌游戏选关模式
- Fragment详解之二——基本使用方法
- 商业计划书模板(高质量)
- 03-期望和协方差
- HTTP协议总结
- BAT的互联网大数据应用有何不同?
- java来源
- Python中变量交换的陷阱
- 占位
- 占位
- 占位
- 占位
- 占位