资讯专栏INFORMATION COLUMN

HTTP协议-从URI开始

null1145 / 1963人阅读

摘要:统一资源名,是作为特定内容的唯一名称使用的,与目前资源所在地无关。方案可以使用其他协议来访问资源,它们可以指向因特网上的任意资源,比如,或者其他协议。通常的组成是主机名端口的形式告知,也有地址端口的形式。

原文连接 blog

URI

URI, 既是统一资源标识符号,每个 Web 服务器都有一个 URI 标识符,它在世界范围内唯一标识并定位信息资源。

它具有两种形式,URN (统一资源名)、URL(统一资源定位符)。

URN

URN (统一资源名),是作为特定内容的唯一名称使用的,与目前资源所在地无关。使用这些与位置无关的 URN,就可以将资源四处搬移。通过 URN,还可以用同一个名字通过多种网络访问协议来访问资源。

URL

URL(统一资源定位符),是 URI 最常见的形式,它描述了一台特定服务器上某资源的特定位置。它们可以明确说明如何从一个精确、固定的位置获取资源。

一个完整的 URL 通常包括以下三部分:

方案:方案部分,说明了 Web客户端 访问资源时所使用的协议类型。通常是HTTP协议。方案可以使用其他协议来访问资源,它们可以指向因特网上的任意资源,比如:E-mail: jkchaom@gmail.com ,或者其他协议。

服务器位置:这部分告知服务器端的位置位于何处。通常的组成是“主机名 + 端口”的形式告知,也有“ IP 地址 + 端口”的形式。端口标识出服务器正在监听的网络端口,对下层使用了 TCP 协议的 HTTP 来说,默认端口号为80;

资源路径:路径说明了请求的是服务器上哪个特定的本地资源。

整合到结构,既是“方案 :// 服务器位置/路径”

此外,一些非必需的 URL 组件也在其中扮演着非常重要的作用:

查询:主要用来缩小所请求资源类型范围。通常以一个“ ?”,开始,比如以下URL 地址,https://api.jkchao.cn/api/art... 。按照常规,查询组件的组成是以一系列的“名/值”,对的形式出现,名值对之间用字符“&”分隔。

片段:有些资源类型,可以做进一步划分,比如 HTML ,URL 支持使用片段组件来表示一个资源内部的片段。通常以“#” 开始,比如:https://github.com/jkchao/blo... , HTTP 服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传送给服务器,浏览器从服务器获得了整个资源之后,会根据片段来显示片段资源。 因此,片段组件,仅由客户端使用。

URL 的缺点

URL 表示的是实际的地址,而不是准确的名字。这就意味着 URL 会告诉你资源此时处于什么位置,它会为你提供特定端口上特定服务器的名字,告诉你在何处可以找到这个资源。这种方案的最大弊端在于,如果资源被移走了,URL 也就不再有效了。那时,它就无法对对象进行定位了。

永久统一资源定位符(PURL),是用 URL 实现 URN 功能的一个例子。其基本思路是在搜索资源的过程中引入另一个中间层,通过一个中间资源定位符服务器对资源的实际 URL 进行登记和跟踪,客户端可以向定位符请求一个永久 URL ,定位符可以以一个资源作为响应,将客户端重定向到资源当前实际 URL 上去。如下图所示:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83815.html

相关文章

  • 【译】 WebSocket 协议第十一章——IANA 注意事项(IANA Consideration

    摘要:概述本文为协议的第十一章,本文翻译的主要内容为的相关注意事项。应用协议使用这个协议规范互操作性注意事项使用时需要使用或者更高版本的协议。安全性注意事项见安全性注意事项一节。 概述 本文为 WebSocket 协议的第十一章,本文翻译的主要内容为 WebSocket 的 IANA 相关注意事项。 IANA 注意事项(协议正文) 11.1 注册新 URI 协议 11.1.1 注册 ws 协...

    amc 评论0 收藏0
  • HTTP笔记

    摘要:主要内容协议概述状态码报头协议协议是互联网使用最多的协议,是客户端和服务器请求应答的标准,端口是。一般用于与请求永久移动。今后任何新的请求都应使用新的代替未修改。 主要内容 协议概述 状态码 报头 http协议 http协议是互联网使用最多的协议,是客户端和服务器请求应答的标准TCP,端口是80。用户通过http和url统一资源定位符获取网页代码供浏览器渲染。简单快速,无连接无状态...

    maybe_009 评论0 收藏0
  • Node.js 中遇到含空格 URL 的神奇“Bug”——小范围深入 HTTP 协议

    摘要:开始重现客户端指令其实这次请求的一些猫腻很容易就能发现在中有空格。而在函数中,做的主要事情就是来解析数据包,在解析完成后执行一下回调函数。具体的一些回调函数就不细讲了,有兴趣的童鞋可自行翻阅。如代码片段所示,前文中所对应的函数就是了。 本文首发于知乎专栏蚂蚁金服体验科技。 首先声明,我在Bug字眼上加了引号,自然是为了说明它并非一个真 Bug。 问题抛出 昨天有个童鞋在看后台监控的时候...

    edgardeng 评论0 收藏0
  • TCP/IP基础总结性学习(2)

    摘要:响应报文基本上由协议版本状态码表示请求成功或失败的数字代码用以解释状态码的原因短语可选的响应首部字段以及实体主体构成。 简单的HTTP协议 一.HTTP 协议用于客户端和服务器端之间的通信 客户端和服务器的定义:请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一 端称为服务器端。在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定有 一端是客户端,另一端则是服务器...

    ztyzz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<