HTTP请求和头信息与HTML页面元信息标签解析(一)

来源:互联网 发布:淘宝直播佣金怎么设置 编辑:程序博客网 时间:2024/06/05 11:49

当我们在浏览器中输入一个网址,比如“https://www.google.com.hk”,回车后将会返回一个HTML文件格式的页面。在这个“回车”的操作中有哪些过程呢?让我们带着一些问题探讨一下其中的一部分内容。后续会逐渐增加更多内容!

1.为什么输不同的网址会有不同的页面返回?它是怎么找到这个页面内容的呢?又为什么有的不同网址访问会跳到相同的页面呢?

要找到页面的内容,当然知道它在哪个地方,也就是在哪个服务器上。而INTERNET上区分不同的服务器的是IP地址。包括IPV4/IPV6,要将网址转化为IP地址,需要一个解析的过程,就好像我们通过邮编找到某个城市某条街道。做这份事情的是DNS(Domain Name System,域名系统)服务器,DNS服务器有很多,但全球根服务器只有十余台(2012年的数据是13台,10台在美国包含了主根服务器,瑞典英国日本均各一台,为何只有13台详见附录部分)。

除了根服务器,还有其他大量的辅助DNS服务器。DNS服务器解析网址成对应的IP地址后,不同的网址便通过网络协议连接到不同IP所对应的服务器上,服务器便把请求的页面返回。

关于有的网址跳到相同的页面,有很多种情况。他们对应同一个IP,还比如现在分享链接常用的t.cn是微博的,而t.tt这是锤子科技的,简短易记,企业便把域名买下,当用户输入后,便跳到其他页面。

不仅如此,一个网址同样可以有很多IP,访问量极大的网站为了减轻服务器负担,会使用负载平衡器、地理映射等。


2.为什么有的网址访问很慢,有的很快,有的先慢后快?

解析出网址的IP,当让需要有保存了网址和IP对应关系的信息,这便需要逐层查找。从本地到局域网路由器一直到根服务器为止。访问国内的网站,如果存在的话显然只要到国内最上层的DNS服务器即可。如果访问了一个很陌生的国外网站,当然就需要花时间找国内的找不到再找国外的DNS服务器。

当我们访问过第一次打开很慢的网站后,之后再访问好像变快了,这是为什么?

答案是缓存。

* 浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟及以上不等)。
* 系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
* 路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
* ISP DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。
* 递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会 有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。


3.怎么样可以加快某些网站的访问?

(1)首先开启缓存是必要的。其次,可以修改host文件。

在Windows系统中,host文件在"C:\Windows\System32\drivers\etc"文件夹中。

Linux、IOS系统中,host文件在etc文件夹中,路径为"/etc/hosts"

安卓的则是"/system/etc/hosts"

每行一条数据,每条数据包含"IP   网址"


(2)手动添加DNS解析服务器IP

一般而言,DNS服务器是局域网的网关,但是为了加快访问速度,我们可以自己添加DNS服务器。

比如,电信用户可以用114.114.114.114

访问国外的网站,可以使用8.8.8.8,它是Google提供的免费DNS服务器,备用8.8.4.4


0 0