DNS协议
在我们输入url后浏览器需要将其转化为ID,这时候就需要用到DNS协议。
DNS(域名系统)是互联网中用于将域名(如 www.example.com)映射为**IP地址**[(如 192.168.1.1)的协议。这样用户可以通过易记的域名来访问网站,而不需要记住复杂的数字地址。
DNS的工作流程
1.用户输入域名:当你在浏览器输入一个网址(如www.juejin.cn)时首先需要通过DNS解析这个域名来获取对应的ID
地址。
2.本地DNS缓存:系统会查询本地DNS缓存,看看之前是否解析给这个域名,如果解析给则直接返回结果。
3.递归查询:
如果缓存没有结果,查询会发送到本地的DNS服务器。
如果本地DNS服务器也没有答案,它会向更高层次的DNS服务器发起递归查询——先从根DNS服务器开始。
根DNS服务器会返回顶级域名服务器的地址(比如 .com、.org),然后本地DNS服务器继续查询这些顶级服务器。
最终,查询会到达负责具体域名的权威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,添加了加密层,保障数据在传输过程中的机密性和完整性。非常重要!特别是在登录、支付等场景中。
作者:狂炫一碗大米饭
链接:https://juejin.cn