网络
不同操作触发的缓存行为
- 手动刷新(点击刷新按钮或者按 F5):强缓存无效、协商缓存有效
- 正常操作(地址栏回车):强缓存有效、协商缓存有效
- 强制刷新(用户按 Ctrl+F5):强缓存无效、协商缓存无效
一切要从 URI 说起
URI
- Uniform Resource Identifier 统一资源标识符,用来唯一标识一个资源
URL
- Uniform Resource Locator 统一资源定位符,用来唯一标识一个资源
- URL 也可以用来标识一个资源,而且它还可以指明如何定位资源
URN
- Uniform Resource Name 统一资源命名 通过名字表示资源
URL 肯定是一个 URI,URI 并不一定是 URL,也有可能是 URN,URL 与 URN 是 URI 的子集
- 你要找 WC 这个人,WC 就是一个 URI,URI 没有寻找资源的方式
- 家庭住址 => URL 定位
- 姓名+身份证号 => URN
对于我们来说,最重要的是 URL,它的作用
- 资源标识
- 有定位资源的功能
- 指明了获取资源所采用的协议
URL 格式
- 协议名称 + 主机名称 + 端口号 + 路径 + 文件 + 查询所需的字符串 + HASH
- http:// baidu.com :80 /01/index.html ?a=1&b=2 #abc
- scheme:// host port path filename ?query hash
https://telegraph-image-6lr.pages.dev/file/069e654aff9e672c4db81.png
DNS 解析
DNS:Domain Name Server(域名服务器)
- 作用:域名与对应的 IP 转化的服务器
- DNS 中保存了一张域名与对应的 IP 地址的表,一个域名对应一个 IP 地址,一个 IP 地址可以对应多个域名
- 说白了,根据域名,通过 DNS 解析就可以得到一个 IP 地址。就可以找到对应的服务器
TCP 连接
三次握手
四次挥手
总结三次握手和四次挥手
- 建立连接 => 三次握手 (双方确认)
- (1) 服务器啊, 我是浏览器, 我要和你建立连接
- (2) 服务器看到了, 好的, 那么建立连接吧, 我准备好了, 你确定吗?
- (3) 浏览器: 是的, 我确定!
- (4) 连接就建立成功,三次握手 = 连接的发起 + 双方的确认
- 断开连接 => 四次挥手 (客气挽留)
- (1) 一方 A 发起断开连接的消息
- (2) 另一方 B 会确认收到断开的需求, 但是会要求等一等, 确认是否数据传输完毕
- (3) B 当确认完之后, 确实数据都传完了, 告知 A, 连接可以断开了
- (4) A 确认收到消息, 告知 B, 我要走了
content-type 数据类型
- application/x-www-form-urlencoded:表示数据被编码成以 '&' 分隔的键 - 值对,同时以 '=' 分隔键和值
- application/json:表示是一个 json 类型;
- multipart/form-data:表示是上传文件;
- text/plain:表示是文本类型;
- application/xml:表示是 xml 类型;
同源策略
- 源:协议 + 域名 + 端口
- 同源:相同的协议 && 相同域名 && 相同的端口
- 不同源:不同的协议 || 不同的域名 || 不同的端口
给服务器传递参数
application/x-www-form-urlencoded
看请求头,如下:
使用 postman 发请求,如下:
application/json
看请求头,如下:
使用 postman 发 json 数据,如下:
multipart/form-data
看请求头,如下:
通过 postman 上传一个文件,如下:









