zoukankan      html  css  js  c++  java
  • 在浏览器地址栏输入URL,按下回车后究竟发生了什么?

    1.DNS

    在浏览器中输入URL后,首先要进行DNS解析,DNS解析的顺序为:

    • 浏览器缓存
    • 本地hosts文件
    • 系统缓存
    • 路由器缓存
    • DNS服务器迭代查询

    2.发送请求

    通过DNS得到目标的IP地址后,通过TCP协议向服务器发送请求即三次握手。

    3.服务器永久重定向响应

    大多数的网站会将用户访问的地址永久重定向,这主要与缓存和搜索排名有关。

    • 搜索排名方面:例如www.test.com与test.com搜索引擎认为是两个网站,不会将排名合并。如果使用重定向将test.com定向到www.test.com搜索引擎就会认为是一个页面将排名信息合并。
    • 缓存方面:如果使用不同的地址,在缓存中出现好几次,缓存友好性变差

    4.跟踪重定向地址

    根据返回新重定向地址,重新发送新的http请求

    5.处理HTTP请求,返回响应

    • 建立连接:服务器允许客户端建立连接
    • 接受请求:从网络中读取HTTP报文交给Nginx或者Apache进行规则匹配
    • 处理请求:根据方法,资源,首部和可选的主体部分对请求进行处理
    • 访问资源:寻找存储对象,访问报文中指定的资源
    • 构建响应报文:创建有正确首部的HTTP响应报文

    6.处理HTTP响应

    • 发送响应:将响应会送给客户端
    • 记录日志:将与已经完成的事务记录在一个日志文件中

    7.浏览器解析显示

    浏览器得到页面后会进行展示,如果还包含其他外部资源如图片、视频等等则继续请求其他资源。

  • 相关阅读:
    learning scala view collection
    scala
    learning scala dependency injection
    learning scala implicit class
    learning scala type alise
    learning scala PartialFunction
    learning scala Function Recursive Tail Call
    learning scala Function Composition andThen
    System.Threading.Interlocked.CompareChange使用
    System.Threading.Monitor的使用
  • 原文地址:https://www.cnblogs.com/aubin/p/7641100.html
Copyright © 2011-2022 走看看