输入一个URL后敲下回车发生了什么?

输入URL

   拿百度为例,输入一个 https://www.baidu.com/ ,URL由三个部分组成:协议,域名,端口号。这里的端口号是默认的所以隐藏。这里的协议用的是https协议,端口号是443,还有一些常见的协议,比如http:80,ssh:20,ftp:21,telnet:23等。

缓存

   首先浏览器先会到缓存里面去找,如果有就直接打开,如果没有或者缓存过期就对URL进行域名解析。

DNS域名解析

  URL所表示的不是最后资源所在的位置,而是为了方便记忆对IP地址的重定向,域名解析的过程实际是将域名还原为IP地址。

  1. 首先,浏览器会检查hosts文件中是否存在IP地址和域名之间的映射关系,如果有则返回。
  2. 如果没有浏览器就会查看本地DNS解析器缓存,如果有就返回。
  3. 如果没有就访问本地DNS服务器,如果有就返回。
  4. 如果没有就访问更高一级的DNS服务器,最后迭代查询直到找到IP地址。

TCP连接

   通过三次握手进行连接。

浏览器向服务器发送HTTP请求。

  1.    请求行
  2. 请求属性
  3. 正文

浏览器接收响应

   响应会收到

  •    状态码
  1. 1XX:接收的请求正在处理
  2. 2XX:  请求正常处理
  3. 3XX:请求重定向
  4. 4XX:错误状态码
  5. 5XX:服务器错误状态码
  •   响应头
  •   响应正文:主要由HTML、css、js、图片文件组成

页面渲染

    在浏览器没有完全接受到HTML时,它就已经开始吧内容显示到页面上来了,不同的浏览器有着不同的显示方法,显示后将HTML加载到浏览器缓存中。

TCP断开连接

     四次挥手

猜你喜欢

转载自blog.csdn.net/Mrek_fast/article/details/88781382