很多人对网站如何打开的过程不是很明白,虽然知道网站组成的部分,但是对细节还是一知半解,所以我们在这简单的概括一下网站的打开过程,希望对大家的理解有所帮助。
假设A在自己电脑上输入www.horsepc.com回车之后,在上篇文章中,我们说到的,域名本身是没什么作用的,只是为了代替复杂难以记忆的IP地址,互联网的指向都是以IP地址为准的,所以浏览器要知道这个域名背后的IP地址是多少。
这个时候浏览器会先查询系统DNS缓存,如果得到缓存的IP地址,那么浏览器会直接对目标地址的服务器发起数据传输请求。如果没有缓存数据做会向本机DNS模块发出DNS请求,问本地服务器知不知道这个域名对应的IP地址,如果服务器给出地址,那么浏览器想目标服务器发出数据请求,如果没有向更高层服务器发出询问,就像知道一个人叫什么名字,去派出所查这个人的住址一样,从镇公安局查起一级级网上查询,在查询IP地址的时候,要逐级访问服务器,直到解析出IP地址为止。这个过程我们在以后的文章中再详细解说。
浏览器在得到了目标IP地址之后(www.horsepc.com对应的IP地址是192.168.1.220),开始向目标服务器发起数据连接请求。就像你找到了想找的人的地址之后,要征求人家的意见“我可以上门拜访吗?”,我们要拜访的都是高端客户,人家不是你想拜访就拜访的。要给你一个小鸡炖蘑菇之类的暗号,你才有拜访的权利。这个过程就是获得目标IP的MAC地址(唯一标示机器的地址),只有知道了MAC地址之后,才能进行TCP连接。
建立了TCP连接之后,A的浏览器会对目标服务器发出HTTP请求,这个过程又是一个复杂的过程,后期详说。在这个HTTP的请求中,包含了一个东西,就是我想要获取的web资源(文件、图片、视频等等)。目标主机接收到这个HTTP请求之后呢,会根据他里面提的要求,创建一个HTTP响应给客户机(A),当A的主机接收到数据时,再通过各种操作,浏览器会以网页的形式显示内容。
从这个过程中大家应该总结一下,就是你输入域名之后,浏览器找到对应的IP地址,去建立访问连接,然后告诉服务器要访问的数据,然后服务器把这个数据传输给浏览器。浏览器展现给我们。结合我们上篇文章,就很简单了,网站就是放在服务器主机里面的文件的集合体,有点像一个小软件,准确的说叫内容管理系统。我们打开就可以直观的浏览了。
举报/反馈