URL和URL输入到页面展现会发生什么?

124 阅读2分钟

一、什么是URL?

统一资源定位符,用于定位互联网上资源,俗称网址 scheme: // host.domain:port / path / filename ?query 协议:// 定义域主机名.定义因特网域名:端口号/服务器上的路径/文档名称/?query参数

1、常见的协议有:ftp,http,https,tcp/ip

  • 1.FTP协议: (File Transfer Protocol,文件传输协议)

    • 是 TCP/IP 协议组中的协议之一,FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
  • 2.HTTP协议: (超文本传输协议)

    • 是互联网上应用最为广泛的一种网络协议。
  • 3.HTTPS 协议:(Secure Hypertext Transfer Protocol安全超文本传输协议)

    • 是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。
  • 4.TCP/IP协议:

    • TCP/IP 是基于 TCP 和 IP 这两个最初的协议之上的不同的通信协议的大的集合。
    • TCP:传输控制协议,传输效率低,可靠性强
  • !!!注意:

    • 1.http默认主机是www
    • 2.http默认端口号是80,https是443
    • 3.path如果省略,则文档必须位于网站的根目录中
    • 4.query就是查询参数

二、从URL输入到页面展现到底发生什么?

1、从开发&运维角度方面来看,总体来说分为以下几个过程:

  • 1.DNS 解析:将域名解析成 IP 地址
  • 2.TCP 连接:TCP 三次握手
  • 3.发送 HTTP 请求
  • 4.服务器处理请求并返回 HTTP 报文
  • 5.浏览器解析渲染页面
  • 6.断开连接:TCP 四次挥手

2、TCP 三次握手

  • 1.你好我是客户端;
  • 2.收到我是服务器;
  • 3.确认完毕,我们连接吧。

3、TCP 四次挥手

  • 1.你好,我要结束了;
  • 2.稍等,还有数据没有传输完;
  • 3.我已经将数据传输完了,随时结束;
  • 4.你结束吧,不用回复了。

4、渲染页面

  • 1.解析HTML,构建DOM树;
  • 2.解析CSS,生成CSS规则树;
  • 3.合并DOM树和CSS规则,生成render树;
  • 4.布局render树(Layout/reflow),负责各元素尺寸、位置的计算;
    1. 绘制render树(paint),绘制页面像素信息。