如何理解 HTTP 请求中的 URI、URL、Request-URI 和 锚点(Fragment)
URI(Uniform Resource Identifier)
统一资源标识符,用于标识资源,只要能唯一标识资源的字符串都可以称为 URI。
URL(Uniform Resource Locator):
统一资源定位符,是 URI 的一种,不仅能唯一标识资源,还能表示通过什么协议、访问哪个主机和端口来获取该资源。
一个标准的 URL 组成部分:
协议://主机:端口/路径?key=value
- 协议:访问资源使用哪种协议
- 主机:请求的目标服务器的地址
- 端口:请求的目标服务器的端口
- 路径:请求的资源路径
- 查询字符串:可选部分,通常用于传递参数,以 ? 开始,后面跟着一对一对的键值对,每个键值对之间用 & 连接。
Request-URI
HTTP 请求中服务器实际接收到并用于定位资源的部分(不包含协议、主机、端口和锚点信息)一般由 路径 + 查询字符串组成。
锚点(Fragment)
浏览器提供的一种机制,假设一个 Web 页面中只有一个 HTML 文档,前端通过锚点来做为路由标识,就可以标识当前显示的是哪个“子视图”。锚点只在浏览器端生效,永远不会作为 HTTP 请求发送给服务器。
例如:http://1.95.2.229:8001/index#/accessControl
- URI 和 URL:
http://1.95.2.229:8001/index- Request-URI:
/index,HTTP 请求中服务器实际接收到的路径部分,在 Web 服务器中定位资源- 锚点:
#/accessControl,这部分只在浏览器端使用,服务器永远不可见。
浙公网安备 33010602011771号