很多朋友可能经常会浏览网页查阅资料,阅读文章。输入网址后,回车,chua的一下就出现了绚丽的网页内容,那计算机和网络系统是怎么帮我做到的呢?今天就给大家详细描述一下。
1.首先打开浏览器输入网址:www.baidu.com/index.html 并点击回车
2.这时候浏览器做的第一步操作是获得我们刚刚输入的域名
。
注意,获取的仅仅是www.baidu.com,因为只有它才会对应一个固定IP。
3.获取到域名后,会从浏览器内部缓存中寻找www.baidu.com有没有对应的IP,如果有就直接开始以IP来建立连接(待会讲怎么连接),如果没有就会向我们的操作系统寻求帮助,以windows为例,windows当中的windows/sys32/drivers/···/hosts文件中存储的有我们的站点信息,如果www.baidu.com在里面,就开始建立连接(待会讲怎么连接)
4.如果没有就要到离我们最近的路由器当中寻找,它一般会有自己的DNS缓存,如果这个DNS缓存中没有,就会向更远的DNS服务器寻找,如果存在这个域名,终究会找到它,并解析为IP让我们知道。
小常识
DNS根服务器,如果所有的服务器都找不到域名对应的IP,那就来到了这里。全世界只有13台这样的服务器。其中10台放置在美国,欧洲2台,日本1台。没错,没有一台在中国,当年美国入侵伊拉克时,美国曾将伊拉克的.iq顶级域名封杀,因此伊拉克一度在虚拟世界“蒸发”。所以它的战略意义可想而知。
5.获取到IP地址,我们就要开始建立连接,细心的朋友可能会发现我们请求的网址一般是这样一种格式:
前面的https是网络协议名称,https协议是基于可靠传输协议TCP协议的应用层协议,而我们和baidu.com建立的连接为TCP连接,所以要遵从TCP协议的三次握手原则:
1.告诉baidu服务器要发送什么(SYN)
2.baidu服务器应答并告诉我们PC它要发什么(SYN、ACK)
3.我们PC应答(ACK)
6.建立连接以后就是HTTP协议请求网页内容了。
HTTP特点:
HTTP服务器只被动响应请求,不会主动发送请求给PC
HTTP工作流程:
0.(前提)成功建立TCP链接
1.客户机发送一个请求给服务器,格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
2.服务器接受请求,并返回XML格式的响应。
7.到这时,浏览器就已经获得了要显示的HTML,浏览器HTML进行解析渲染,最终呈现出我们看到的样子