输入网址到页面显示发生了什么

首先浏览器需要联系网站服务器。网址,即URL,被解析为若干部分。例如对于www.baidu.com,实际上它的完整形式是:http://www.baidu.com:80/。其中包括了以下部分:

  • 协议:http
  • 域名:www.baidu.com。其中baidu.com是百度的域名,www是这个域名下的二级域名。
  • 端口:80
  • 路径:/

其中协议部分默认为http,端口对于http来说默认是80,对于https来说是443。接下来如果域名部分不是IP的话,需要DNS协议得到服务器的IP地址。
DNS本身是一个基于UDP协议的网络协议。专门用于服务器和IP地址的查询。DNS服务由DNS服务器提供,默认端口是UDP的53。一个计算机的DNS服务器配置在操作系统中,是上网配置的基本元素之一(另外几个包括IP地址,子网掩码,默认网关)。
浏览器把域名发送给系统默认DNS服务器。如果该服务器本地有缓存,且缓存未过期,则直接返回结果。否则向上一级DNS服务器查询,直到DNS根服务器。DNS协议最终会返回A记录(IPv4)或者AAAA记录(IPv6)或者Alias(别名)等。如果DNS失败,浏览器会提示域名找不到或者DNS错误。
到此为止,浏览器知道了网址的对应服务器IP地址和端口,然后就通过TCP协议发起网络请求。但是发起的是什么请求取决于网址的协议是HTTP还是HTTPS。

附上原文链接:https://www.jianshu.com/p/c2050fa5fb94

猜你喜欢

转载自blog.csdn.net/qq_37642495/article/details/85998810
今日推荐