zoukankan      html  css  js  c++  java
  • 浏览器输入网址后,按回车会发生什么

    比较常考,自己总结了下

    1. 浏览器查找域名IP

    先根据浏览器缓存查询,之后查看系统缓存,再看路由器缓存,再看ISP DNS缓存

    如果缓存没有查询到,就会利用DNS服务器从根域名开始搜索,

    再从.com DNS服务器到didichuxing DNS服务器,

    DNS服务器之间的查询是迭代查询,客户机与服务器之间的查询是递归查询,最后返回IP

    2. 向远程IP地址服务器发送HTTP请求

    请求包括GET/POST、url、协议、浏览器头、cookies信息等

    3. 服务器应答,向客户机发送HTTP响应报文

    包括HTTP版本、事件、cookies等,并查找请求的资源是否存在响应,比如200成功 404 NOT FOUND

    4. 服务器返回相应的内容

    5. 浏览器页面渲染,显示

    因为返回的内容可能不够完整,比如还需要js、图片之类的,浏览器还会继续发送请求获取它们

    其他:HTTP包的传输是依靠TCP的传输,建立三次握手连接、四次挥手释放

    TCP包是由IP包负载的

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------

    以下是一个群里的人写的

    DNS解析的过程如下,这个过程有助于我们理解DNS的工作模式


    1. 在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。


    2. 如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。


    3. 如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。


    4. 如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。


    5. 如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至 “根DNS服务器”,“根DNS服务器”收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。


    6. 如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

  • 相关阅读:
    hihoCoder #1176 : 欧拉路·一 (简单)
    228 Summary Ranges 汇总区间
    227 Basic Calculator II 基本计算器II
    226 Invert Binary Tree 翻转二叉树
    225 Implement Stack using Queues 队列实现栈
    224 Basic Calculator 基本计算器
    223 Rectangle Area 矩形面积
    222 Count Complete Tree Nodes 完全二叉树的节点个数
    221 Maximal Square 最大正方形
    220 Contains Duplicate III 存在重复 III
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5913859.html
Copyright © 2011-2022 走看看