浏览器访问URL的一般过程:
1、格式验证与协议选择(默认为HTTP)
首先我们应该知道,浏览器也是有自己独立的人格的,主人的命令如果是对的,那自然照做。那如果是错误的,那就必然不会听取命令,当然也不能听取命令?
故当我们在浏览器中输入希望查询的URL,如果输入的是非法无效的网址,浏览器就会提示出错了。
所以,第一步是浏览器对用户输入的网址做初步的格式化检查,只有通过以上检查才会进入下一步。
那么浏览器是用http还是https访问服务器呢?
当输入正确的网址之后,比如qq.com,浏览器会默认进行补全,此时除非我们补全输入为https://qq.com,否则浏览器默认选择的协议是http协议!
2、DNS 查询
就好比我们寄快递,需要知道对方的收货地址才能使收件人收到快递,此处浏览器也是如此,只有当浏览器告诉TCP/IP“收件人”的IP地址,才会把消息送到“收件人”地址。所以浏览器联系本地DNS,请求DNS帮忙查询一下“qq.com”的IP地址
然后DNS查自己内存里的DNS Cache、本地硬盘里的host文件。按顺序查找下来之后如果都没有,只能去联系自己的DNS服务器8.8.8.8(不一定是8.8.8.8,可以自己静态配置或着动态获取),DNS将自己的查询消息打好包,收件人地址为8.8.8.8,寄件