什么网站可以找到手工活做,俞润装饰做哪几个网站,c2c模式类型有哪些,资源网站免费的URL解析DNS解析TCP连接TSL连接HTTP请求TCP挥手接收并解析响应
URL 解析 主要分为#xff1a;
协议#xff0c;eg http,https域名或者ip地址#xff0c;eg www.baidu.com 域名相对于ip地址来说#xff0c;更方便人们记忆#xff0c;但是实际的网络传输中使用的是ip地址 端…URL解析DNS解析TCP连接TSL连接HTTP请求TCP挥手接收并解析响应
URL 解析 主要分为
协议eg http,https域名或者ip地址eg www.baidu.com 域名相对于ip地址来说更方便人们记忆但是实际的网络传输中使用的是ip地址 端口号不同的协议对应不同的端口号一般可以不写eg http是80https是443请求的资源或路径默认不写就是 /index
DNS 解析
根据域名找到对应的ip 首先会在本机查找浏览器缓存如果没有查操作系统缓存 如果还没有就后台向本机已经通过DHCP配置好的DNS服务器发起一个查询递归请求 DNS服务器会首先查询自己的缓存如果没有就向分布式DNS域名系统发起迭代查询依次是根域名服务器顶级域名服务器权限域名服务器
TCP连接 第一次发送连接请求 SYN1表示这是一个TCP连接请求报文段seq设为x,作为TCP客户进程所选的初始序号TCP规定SYN1的报文段不能携带数据但要消耗掉一个序号 第二次发送请求连接请求确认报文段 SYN1和ACK1表示这是一个TCP连接请求确认报文段seq设为y,作为TCP服务进程所选的初始序号ackx1,这是对TCP客户进程所选的初始序号的确认因为SYN1所以不能携带数据但要消耗掉一个序号 第三次发送请求连接确认的确认 ACK1,表示这是一个普通的TCP确认报文段seqx1,第一次发送请求连接TCP客户进程所选的初始序号x,不携带数据但是消耗一个序号acky1,这是对TCP服务进程所选的初始序号的确认普通的确认报文段可以携带数据如果不携带数据则不消耗序号在这种情况下下一个发送的序号seq仍为x1
q: 第三次确认是否多余
不多余。这是为了防止已失效的连接请求报文段突然又传到了服务器而导致错误造成服务端资源浪费 假如我们把连接改为两次握手就会产生如下错误情况
TSL 连接
q: Http和Https的区别
Http是明文传输容易遭到窃听和篡改Https对传输内容做了加密Http缺乏报文完整性验证Https对报文做了验证Http缺乏身份验证Https加入了身份验证机制两者的默认端口不一样HTTP 默认端口号是 80HTTPS 默认端口号是 443。
如果你输入http://www.taobao.com 你首先会获得一个重定向的响应 然后浏览器重新发起对https://www.taobao.com 的请求 TSL 连接的过程如下 消息发送与验证 HTTP请求
建立连接后浏览器发起Http请求Http报文如下
TCP 挥手 客户端和服务端都可以释放连接
第一次发送释放连接请求 FIN1和ACK1,表示这是一个TCP连接释放报文段sequ,u为上一次发送请求的seq1即已传发送过的字节序号1ackv,表示对上一次请求确认的确认 即服务端已收到的字节序号1TCP规定FIN1的报文段即使不携带数据也要消耗一个序号 第二次发送对释放连接请求的确认 ACK1表示这是一个普通的确认seqv,v为服务端以收到的字节序号1正好和第一次请求的ack一致acku1,这是对连接释放报文段的确认
中间服务端可能还要有数据进行发送
第三次发送TCP服务端发送TCP连接释放报文段 FIN1和ACK1,表示这是一个TCP连接释放报文段seqw是因为服务端可能又发送了若干数据acku1是对第一次请求连接释放报文段的重复确认 第四次TCP客户端发送普通确认报文段 ACK1表示这是一个普通的确认sequ1,是因为第一次发送请求时消耗了一个字节序列ackw1这是对第三次请求的确认
q: 最后等待2MSL是否有必要
有必要。如果最后一次TCP报文段丢失则服务端会一直等待或者重传浪费资源
q: 服务端如何发现客户端故障 接收并解析响应 参考资料
浏览器输入url发生了在浏览器输入 URL 回车之后发生了什么超详细版 - 知乎 (zhihu.com)从输入URL到页面加载的过程如何由一道题完善自己的前端知识体系 | Dailc的个人主页 (dailichun.com)