浏览器输入一个链接背后的流程

2018-04-27 0 条评论 851 次阅读 0 人点赞

比如在浏览器中输入g.cn背后发生了什么:

  1. 假设已经接入运营商宽带(ISP)到本地host查询对应的ip
    • ubuntu"/etc/host,mac:/private/etc/hostwin:\Windows\System32\drivers\etc\hosts
  2. 如果没找到再去本机提供的dns(port 53)服务器查询,本机dns一般是对应的ISP的dns本机dns可以通过猪厂提供的工具查,一般本机的dns都是跟随本地路由器路由器上一般都是自动获取即ISP的dns.

  3. 通过dns服务器得到的ip会加入本地缓存缓存时间在域名解析后台可以设置如下图:

    其中的TTL wiki的解释为
    存活時間(英语:Time To Live,簡寫TTL)是電腦網路技術的一個術語,指一個封包在经过一個網路時,可传递的最長距离(跃点数)。
    即本地存活时间.
  4. 得到了ip之后通过层层的路由和arp记录的MAC地址去定位到具体服务器
    下图的过程就是一个典型定位到具体服务器的过程一目了然无需多说.

  5. 得到了服务器最终的ip就可以产生通讯,首先g.cn会产生一个301永久跳转到www.google.cn然后通过对方服务器的80端口再请求www.google.cn上的网页,这里的tcp三次握手挥手就是满大街的面试题.然后再经过对方服务器的nginxorapacheorIIS到具体程序员写的代码,代码返回的一个html网页,网页再由浏览器解析,请求一些png,css的资源.产生了很多的tcp请求.

EOF

TestSmirk

这个人太懒什么东西都没留下

文章评论(0)