在浏览器中输入URL之后发生了什么

参考:《TCP/IP网络编程》

①:查找域名对应的IP地址,先在浏览器缓存中查找,浏览器会缓存一段时间内的DNS记录,如果浏览器缓存中没有,则在hosts文件中查找,hosts文件会将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,如果hosts文件中没有相应的记录,则去路由器缓存中查找,如果路由器缓存中也没有,再去分配给该ISP的域名服务器中查找IP地址,如果该域名服务器中没有相应记录,则去根域名服务器,一步一步查找域名对应的IP地址。

②:查找到对应的IP地址之后,便与该地址建立TCP连接,动作为三次握手。

③:TCP连接建立之后,发送http请求报文,请求报文由请求行,首部字段,消息体,请求行包括方法,URL和版本;响应报文首部由状态行,消息头,消息体,状态行包括状态码,版本,状态原因语句。无论请求报文还是响应报文,在首部字段之后,包含一个空行。

④:如果页面发生跳转,则服务器发回一个重定向响应,然后web浏览器跟随这个重定向,再次发送http请求;否则,如果页面不跳转的话,web服务器直接处理这个HTTP请求,并发会响应。

⑤:关闭TCP连接。

URL包括哪几个部分:

参考https://blog.csdn.net/u013344815/article/details/55194558

1、协议部分

2、域名部分

3、端口号

4、虚拟目录

5、文件名部分,从最后一个/开始到?是要访问的服务器的文件名。

6、参数部分,从?开始的部分为参数部分,可以有多个参数,用&作为分隔符。

猜你喜欢

转载自blog.csdn.net/weixin_42634329/article/details/81157819