首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP相关的一些东西

HTTP相关的一些东西

作者头像
IMWeb前端团队
发布2019-12-03 18:23:13
3080
发布2019-12-03 18:23:13
举报

本文作者:IMWeb 存勖闲 原文出处:IMWeb社区 未经同意,禁止转载

这几天一直在看关于HTTP和前端性能优化相关的内容,今天先写一篇关于HTTP的文章,如果时间允许的话再接着把前端性能优化的写完。毕竟还要留着时间去看小片嘛?

接下来就是正文啦!

浏览器输入URL后HTTP请求返回的完整过程

就是下图这个啦(这个可是我从某课网偷来的)

URL输入到请求返回
URL输入到请求返回
从输入地址到页面渲染
从输入地址到页面渲染
从输入地址到页面渲染

在HTTP的五层分层中:

  • 应用层为应用软件提供了很多服务,构建于TCP协议之上,屏蔽网络传输相关细节
  • 传输层向用户提供可靠的端到端(End-to-End)服务,向高层屏蔽了下层数据通信的细节
  • 网络层为数据在结点之间传输创建逻辑链路
  • 数据链路层在通信的实体间建立数据链路
  • 物理层主要作用是定义物理设备如何传输数据
guocheng.png
guocheng.png
统一资源标识符URI

URI用字符串标识某一互联网资源,包括URL和URN。 URL为统一资源定位符,表示资源的地点(互联网上所处的位置); URN为永久统一资源定位符:资源在移动之后还能被找到,目前还没有非常成功的使用方案。

TCP连接中的三次握手与四次挥手

这部分内容是面试中的重点,尤其是SYN、ACK啥的,好乱? 先放图?

1544508932779.png
1544508932779.png

其中:起初两端的TCP进程都是CLOSED状态。主动打开连接的是客户端,被动打开连接的是服务器

  1. 第一次握手:客户端向服务器发出连接请求保温,这是报文首部中的同部位SYN=1,同时选择一个初始序列号seq=x,此时,TCP客户端进程进入了SYN-SENT(同步已发送状态)。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。
  2. 第二次握手:服务器收到请求报文后,如果同意连接就发出确认报文。确认报文中ack=1,SYN=1,确认号为ACK=x+1,同时也要为自己初始化一个序号seq=y,此时服务器进入了SYN-RCVD(同步收到)状态。这个报文不能携带数据,但是同样要消耗一个序号。
  3. 第三次握手:客户端收到确认后,还要向服务器给出确认。确认报文的ack=1,ACK=y+1,自己的序列号seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号。

当服务端收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始连通了。

四次挥手:

  • 第一次挥手:客户端向服务器发送一个FIN报文段,将设置seq=x+2和ACK=y+1,;此时,客户端进入 FIN_WAIT_1状态,这表示客户端没有数据要发送服务器了,请求关闭连接;
  • 第二次挥手:服务器收到了客户端发送的FIN报文段,向客户端回一个ACK报文段,ACK=x+3;服务器进入了CLOSE_WAIT状态,客户端收到服务器返回的ACK报文后,进入FIN_WAIT_2状态;
  • 第三次挥手:服务器会观察自己是否还有数据没有发送给客户端,如果有,先把数据发送给客户端,再发送FIN报文;如果没有,那么服务器直接发送FIN报文给客户端。请求关闭连接,同时服务器进入LAST_ACK状态;
  • 第四次挥手:客户端收到服务器发送的FIN报文段,向服务器发送ACK报文段,然后客户端进入TIME_WAIT状态;服务器收到客户端的ACK报文段以后,就关闭连接;此时,客户端等待2MSL后依然没有收到回复,则证明Server端已正常关闭,客户端也可以关闭连接了。

好啦,突然看了看,剩下总结的都可以归为缓存了,那就在下一篇里面再写吧,拜拜了您呐?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 浏览器输入URL后HTTP请求返回的完整过程
  • 从输入地址到页面渲染
  • 统一资源标识符URI
  • TCP连接中的三次握手与四次挥手
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档