你知道从输入URL到页面显示过程中涉及哪些协议吗?🫡

20 阅读3分钟

在上一篇学习了浏览器从输入URL到显示页面经历了哪些步骤,那这其中又涉及到哪些协议呢?

DNS协议🌐

在我们输入url后浏览器需要将其转化为ID,这时候就需要用到DNS协议。

DNS(域名系统)是互联网中用于将域名(如 www.example.com)映射为**IP地址**[(如 192.168.1.1)的协议。这样用户可以通过易记的域名来访问网站,而不需要记住复杂的数字地址。📡

DNS的工作流程

1.用户输入域名:当你在浏览器输入一个网址(如www.juejin.cn)时首先需要通过DNS解析这个域名来获取对应的ID 地址。

2.本地DNS缓存:系统会查询本地DNS缓存,看看之前是否解析给这个域名,如果解析给则直接返回结果。

3.递归查询:

  1. 如果缓存没有结果,查询会发送到本地的DNS服务器。
  2. 如果本地DNS服务器也没有答案,它会向更高层次的DNS服务器发起递归查询——先从根DNS服务器开始。
  3. 根DNS服务器会返回顶级域名服务器的地址(比如 .com、.org),然后本地DNS服务器继续查询这些顶级服务器。
  4. 最终,查询会到达负责具体域名的权威DNS服务器,它提供最终的IP地址

4.返回ID地址:一旦找到了IP地址,DNS服务器将其返回给请求的计算机,浏览器就可以使用该IP地址进行连接了。

得到iD地址之后接下来就是浏览器和服务器建立http连接,因此这就涉及http协议。

http协议🌐

HTTP:超文本传输协议是互联网上客户端(浏览器)与服务器通信的基础协议。简单来说,就是你打开网页、提交表单、加载图片等所有操作,背后基本都是通过 HTTP 完成的。

它是一种无状态、基于请求-响应模式”的应用层协议,使用 TCP 协议作为底层传输通道。

http工作流程

以我们访问网页为例:

1.用户输入网址 -> 浏览器通过DNS解析找到服务器ID

2.建立TCP连接

3.发送http请求

4.服务器响应请求,返回网页内容

5.断开连接

常见的HTTP方法

方法作用
GET获取资源(最常用)
POST提交数据(如表单)
PUT更新资源
DELETE删除资源
HEAD获取响应头,不返回 body
OPTIONS获取服务器支持的方法

常见的HTTP响应状态码

状态码含义说明
200 OK成功一切正常✅
301 Moved Permanently永久重定向
302 Found临时重定向
400 Bad Request客户端请求有误
401 Unauthorized未授权,需要登录🔒
403 Forbidden被禁止访问
404 Not Found页面找不到🚫
500 Internal Server Error服务器出错🔥

那HTTP是”无状态“的是什么意思?

HTTP 不会记住之前的通信内容,也就是说,每一次请求都是独立的、无关联的。

举例:你登录了网站,发了一个请求,下一次再发请求,服务器“默认”不会记得你登录过。这就需要使用 Cookie / Session / Token 等机制来“模拟状态”😊🍪

HTTP协议的演进

  • HTTP/1.0:每个请求都要重新建立连接,效率较低。

  • HTTP/1.1:支持长连接(Keep-Alive),一个连接可以传多个请求。

  • HTTP/2:支持多路复用、二进制传输、更高压缩效率。

  • HTTP/3:基于 QUIC 协议(UDP),连接更快,更适合移动网络环境。

HTTPS又是什么?

HTTPS = HTTP + SSL/TLS,添加了加密层,保障数据在传输过程中的机密性和完整性。非常重要!特别是在登录、支付等场景中。