Skip to content

网络

不同操作触发的缓存行为

  • 手动刷新(点击刷新按钮或者按 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

1696725414188

对于我们来说,最重要的是 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 连接

三次握手

1696725743318

四次挥手

1696725776374

总结三次握手和四次挥手

  • 建立连接 => 三次握手 (双方确认)
    • (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

1696834147322

看请求头,如下:

1696834736605

使用 postman 发请求,如下:

1696834851707

application/json

看请求头,如下:

1696836654659

使用 postman 发 json 数据,如下:

1696836737136

multipart/form-data

看请求头,如下:

1696837450110

通过 postman 上传一个文件,如下:

1696837559828

开源接口

https://www.free-api.com/

https://api.aa1.cn/

https://docs.tenapi.cn/

最后更新于:

基于 MIT 许可发布