ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

http协议:三 (1)键入网址再按下回车,后面究竟发生了什么

2021-08-11 16:00:53  阅读:196  来源: 互联网

标签:HTTP IP 报文 键入 TCP http 浏览器 连接 回车


1、浏览器从地址栏的输入中获得服务器的 IP 地址和端口号;

2、浏览器用 TCP 的三次握手与服务器建立连接;

3、浏览器向服务器发送拼好的报文;

4、服务器收到报文后处理请求,同样拼好报文再发给浏览器;

5、浏览器解析报文,渲染输出页面。

 

 

HTTP 协议基于底层的 TCP/IP 协议,所以必须要用 IP 地址建立连接;

如果不知道 IP 地址,就要用 DNS 协议去解析得到 IP 地址,否则就会连接失败;

建立 TCP 连接后会顺序收发数据,请求方和应答方都必须依据 HTTP 规范构建和解析报文;

为了减少响应时间,整个过程中的每一个环节都会有缓存,能够实现“短路”操作;

虽然现实中的 HTTP 传输过程非常复杂,但理论上仍然可以简化成实验里的“两点”模型

 

问题

DNS域名解析不需要发请求,建立连接吗?  ip和域名是多对多的关系

 回复:

dns请求是专门的dns协议,使用udp发送,因为是udp所以不需要建立连接。

 

第四个包到第六个包,为什么又进行了一次tcp连接呢,而且这个端口号是52086,这个是浏览器的特性吗?

回复:

因为http/1连接传输效率低,所以浏览器一般会对同一个域名发起多个连接提高效率,这个52086就是开的第二个连接,但在抓包中只是打开了,还没有传输。

 

 tcp 三次握手后的连接是怎么保持住的?还有 http 头里面的 keep alive,它怎么就让连接 hold 住了的?是一个连接对应一个线程还是怎么回事?

回复:

 tcp连接是用socket api打开的,只要不调用close,就会一直打开,在打开的时间里就可以收发数据。

 keepalive只是个“指示”,告诉客户端这个连接不会立即调用close关闭,它是对应连接的,与线程无关。

 

1:一次HTTP请求由几次TCP请求完成?


2:TCP的建连为什么是三次握手?


3:TCP的断连为什么是四次挥手?


4:为什么说HTTP比TCP性能差一些?


5:HTTP和TCP的优缺点是什么?


6:HTTP和TCP的应用场景是什么?为什么这么用?

标签:HTTP,IP,报文,键入,TCP,http,浏览器,连接,回车
来源: https://www.cnblogs.com/xrxc/p/15128633.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有