• 在浏览器中输入URL后,执行的全部过程。(一次完整的http请求过程)


    整个流程如下:

      域名解析
      为了将消息从你的PC上传到服务器
      上.需要用到1P协议、ARP协议和0SPF协议
      发起TCP的3次握手
      建立TCP连接后发起http请求
      服务器响应htp请求
      浏览器解析htm代码,并请求html代码中的资源(如js、css、图片等)
      断开TCP连接
      浏览器对页面进行渲染呈现给用户


    一、域名解析的详细内部过程


    例如,要查询www.baidu.com的IP地址(DNS解析url):

    浏览器搜索自己的DNS缓存(维护一张域名与IP地址的对应表)

    若没有,则搜索操作系统中的DNS缓存(维护一张域名与IP地址的对应表)

    若没有,则搜索操作系统的hosts文件(Windows环境下,维护一张域名与IP地址的对应表,位置一般在 C:WindowsSystem32driversetchosts)

    若没有,则操作系统将域名发送至 本地域名服务器- -(递归查询方式),本地域名服务器 查询自己的DNS缓存,查找成功则返回结果,否则,(以下是迭代查询方式)

    4.1 本地域名服务器 向根域名服务器(其虽然没有每个域名的具体信息,但存储了负责每个域,如com、net、org等的解析的顶级域名服务器的地址)发起请求,此处,根域名服务器返回com域的顶级域名服务器的地址

    4.2 本地域名服务器 向com域的顶级域名服务器发起请求,返回baidu.com权限域名服务器(权限域名服务器,用来保存该区中的所有主机域名到IP地址的映射)地址

    4.3 本地域名服务器 向baidu.com权限域名服务器发起请求,得到www.baidu.com的IP地址

    本地域名服务器 将得到的IP地址返回给操作系统,同时自己也将IP地址缓存起来

    操作系统将 IP 地址返回给浏览器,同时自己也将IP地址缓存起来

    至此,浏览器已经得到了域名对应的IP地址

    二、三次握手
           三次握手的情况可以看我的博客https://mp.csdn.net/postedit/80735776

    三、建立TCP连接后发起http请求
               讲一下HTTP的浏览器缓存机制看我的博客:https://mp.csdn.net/postedit/81188624。使用Post还是Get。

    四、服务器收到请求并响应HTTP请求
    1.负载均衡
             网站可能会有负载均衡设备来平均分配所有用户的请求。即对工作任务进行平衡,分
    摊到多个操作单元上执行,如图片服务器,应用服务器等。
    2请求处理阅读请求及它的参数和 cookies


    五.浏览器解析htm代码,并请求htm代码中的资源(如js、css图片等)
            看是否是长连接。来决定是不是断开TCP连接


    六.断开TCP连接
            四次挥手


    七.浏览器对页面进行渲染呈现给用户

    原文:https://blog.csdn.net/qq_21993785/article/details/81188253

  • 相关阅读:
    Intellij IDEA13 创建多模块Maven项目
    oracle锁
    oracle rac负载均衡
    awk命令
    政务外网、政务专网、政务内网和互联网
    图片切换实现选中-未选中效果
    生成带logo 的二维码
    控制input为number时样式
    移动端适配的解决方法?
    input-checkbox选中及非选中样式设置
  • 原文地址:https://www.cnblogs.com/yinrw/p/10694435.html
Copyright © 2020-2023  润新知