浏览器输入url一直到页面显示出来,经历哪些过程呢

IT知识
399
0
0
2022-12-20
标签   浏览器

浏览器输入url一直到页面显示出来,经历哪些些过程呢,又是面试常客

主要分为了6个步骤

  • DNS解析
  • TCP连接
  • HTTP请求
  • 服务器处理请求并返回HTTP报文
  • 浏览器渲染
  • 连接结束

一:DNS解析

说白了就是把我们的域名转成ip地址过程,具体如何解析可以查看下图,一共分成8步,非常清楚

img

二:TCP连接

TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的传输服务(TCP 的可靠体现在 TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源),这难以避免增加了许多开销,如确认,流量控制,计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景

三:HTTP请求

这个也很好理解,就是我们开发写的接口,HTTP请求的过程就是构建HTTP报文按照TCP协议发送到指定服务的端口,HTTP报文主要有三部分组成,请求行,请求正文,请求报头

请求行

Method Request-URL HTTP-Version CRLF
eg: GET index.html HTTP/1.1

请求报头

常见的请求报头有: Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type, Authorization, Cookie, User-Agent等

img

请求正文

这个可以这样理解,就是我们请求接口带入的入参

四:服务器处理请求并返回HTTP报文

当我们的服务端口接收到请求的时候,我们的web服务器会对HTTP协议进行解析,然后并按照报文格式进一步封装成HTTP Request对象,服务进行处理完之后,返回HTTP响应报文,他也是由三部分组成,状态码,响应报头,响应报文

五:浏览器渲染

浏览器对返回的数据进行渲染,主要就是对HTML,CSS,JS进行解析渲染

以上就是一个浏览器输入url基本的整个过程,这里面其实还有许多的知识点,比如

  • 1.三次握手,四次挥手
  • 2.TCP和UDP区别
  • 3.HTTPS和HTTP的区别
  • 4.HTTPS工作原理