输入url到页面展示的过程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/nightwishh/article/details/102630761

多次看到这个问题,在此做个记录加深理解并说说自己的想法。
首先关于大致的过程自己画了张草图步骤分123步执行。
在这里插入图片描述
步骤分析:

步骤1.关于url地址

一般我们输入的url地址可能会有三种形式

  • http://121.199.63.22:80
  • http://121.199.63.22
  • http://heyaniu.club

第一种:ip地址+端口号
第二种:ip地址
第三种:域名

第一种形式浏览器就可以通过ip+端口号直接解析。
第二种形式跟第一种是一样的,因为浏览网页服务默认的端口号都是80,是规定死的,所以加不加都是一样。
第三种域名形式就需要DNS域名解析系统的帮助了。浏览器会向DNS系统请求域名对应的IP地址和端口,解析完毕后再返回给浏览器。

步骤2.发起TCP连接-三次握手

举一个生活中的例子,步骤1就好像你想要添加某人的微信,如果你可以当面要到(输入的url是ip)那你就可以直接通过微信号加她了,若你没去要那可能事后就要别人(DNS服务器)帮你海底捞去帮你找(解析域名)才能获得微信号,步骤2就是你发送添加好友的请求,某人(服务器)同意建立好友关系(三次握手建立TCP连接),接下来才能进行步骤3,你们才能进行交流(发送http请求,接受响应数据)。
这里画个三次握手时序图加深下理解。
在这里插入图片描述

步骤3.发起http请求

我们建立好了连接就可以开始发送http请求了,服务器接受到了浏览器发送的http请求就开始进行处理,并返回相对应的响应数据,浏览器在收到服务器的响应的时候,会去解析响应头,如果是状态码是302重定向的话,那可能做了反向代理,代理到了别的页面,那浏览器会重新向服务器给的重定向地址发起http请求,再次解析响应的内容,拿到html进行解析,这之中可能会有各种资源文件和脚本文件,最后一张完整的页面就呈现在我们的浏览器上了。

补充:步骤4.断开连接–四次挥手

主机向服务器发送断开连接的请求( 我要下了88);

服务器接到后发送收到请求的通知( 知道了);

服务器向主机发送断开通知( 那我走了 );

主机接到断开通知后断开连接并发送一个确认信号( 好的再见 )服务器收到确认信号后断开连接;

ps:上述请求的协议是http,如果是https还有一个下载证书和加密的过程。写的如果有错误欢迎指正。

猜你喜欢

转载自blog.csdn.net/nightwishh/article/details/102630761
今日推荐