为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第五天 HTTP协议原理+实践 ,Web开发工程师必学

标签:
前端工具

第一模块


学习课程名称: HTTP协议原理+实践 ,Web开发工程师必学
章节名称:HTTP协议基础及发展历史
讲师姓名:Jokcy


第二模块


课程内容概述
本章节主要阐述了以下内容:

  1. 5层网络模型介绍
  2. HTTP协议的发展历史
  3. HTTP的三次握手
  4. URI-URL和URN
  5. HTTP报文格式
  6. 创建一个最简单的web服务

第三模块


http各个版本的基本情况:
http协议经过20多年的演进出现过0.9、1.0、1.1、2.0、3.0五个主要版本

Http0.9版本
0.9是鼻祖版本,它的主要特点包括:

请求方法支持有限
只支持GET请求方式,不支持其他请求方式 因此客户端向服务端传输信息的量非常有限,也就是现在常用的Post请求无法使用
不支持请求头header
不能在请求中指定版本号,服务端只具有返回HTML字符串的能力
响应即关闭
服务端相响应之后,立即关闭TCP连接

Http1.0版本

1.0版本主要是对0.9版本的强化,效果也比较明显,主要特性和缺点包括:

丰富请求方法
请求方式新增了POST,DELETE,PUT,HEADER等方式,提高了客户端向服务端发送信息的量级
增加请求头和响应头
增添了请求头和响应头的概念,可以在通信中指定了HTTP协议版本号,以及其他header信息,使得C/S交互更加灵活方便
丰富数据传输内容
扩充了传输内容格式包括:图片、音视频资源、二进制等都可以进行传输,相比0.9的只能传输html内容让http的应用场景更多
链接复用性差
1.0版本中每个TCP连接只能发送一个请求,数据发送完毕连接就关闭,如果还要请求其他资源,就必须重新建立连接。TCP为了保证正确性和可靠性需要客户端和服务器三次握手和四次挥手,因此建立连接成本很高,基于拥塞控制开始时发送速率较慢,所以1.0版本的性能并不理想。
无状态无连接的弊端
1.0版本是无状态且无连接的,换句话说就是服务器不跟踪不记录请求过的状态,客户端每次请求都需要建立tcp连接不能复用,并且1.0规定在前一个请求响应到达之后下一个请求才能发送,如果前一个阻塞后面的请求就会被阻塞。 丢包和乱序问题和高成本的链接过程让复用和队头阻塞产生很多问题,所以无连接无状态是1.0版本的一个弱肋。

Http2.0版本
2.0版本是个里程碑式的版本,相比1.x版本有了非常多的优化去适应当前的网络场景,其中几个重要功能点包括:

二进制格式
1.x是文本协议,然而2.0是以二进制帧为基本单位,可以说是一个二进制协议,将所有传输的信息分割为消息和帧,并采用二进制格式的编码,一帧中包含数据和标识符,使得网络传输变得高效而灵活。
多路复用
这是一个非常重要的改进,1.x中建立多个连接的消耗以及效率都存在问题,2.0版本的多路复用多个请求共用一个连接,多个请求可以同时在一个TCP连接上并发,主要借助于二进制帧中的标识进行区分实现链路的复用。
头部压缩
2.0版本使用使用HPACK算法对头部header数据进行压缩,从而减少请求的大小提高效率,这个非常好理解,之前每次发送都要带相同的header,显得很冗余,2.0版本对头部信息进行增量更新有效减少了头部数据的传输。
服务端推送
这个功能有点意思,之前1.x版本服务端都是收到请求后被动执行,在2.0版本允许服务器主动向客户端发送资源,这样在客户端可以起到加速的作用。

http 的三次握手过程总结
首先客户端先进行一个connect连接,然后会发送一个SYN到客户端,紧接着自身的状态变为了SYN_SEND。服务段收到后,会将当前的连接放到一个半连接队列,并且返回给客户端一个ACK+SYN(服务段自身的SYN)。客户端收到服务的ACK,后证明服务端的接受能力和发送能力都没问题,然后客户端再发送一个ACK,证明能够收到服务端的信息,并且将自身的状态转为ESTABLISHED。然后服务端收到后,将该连接从半连接队列转到全连接队列。没有直接用,是因为服务端的处理能力是有限的,假如客户端连接很多,可能会accept不过来,将其放入队列能够进行缓冲。


第四模块

图片描述图片描述图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消