【问题标题】:What's different between URI, request-URI and URL?URI、request-URI 和 URL 有什么区别?
【发布时间】:2016-01-18 07:45:41
【问题描述】:

我正在学习网络技术,老师不能给我一个满意的解释。 我想举几个例子,请帮助我指出我是对的。

【问题讨论】:

标签: url web uri


【解决方案1】:

URI 标准是STD 66,目前映射到RFC 3986

URI 与 URL

Section 1.1.3 描述了 URI 和 URL(以及 URN)之间的区别。

组件

Section 3 描述 URI 可以具有的组件。

对于 URI http://www.example.org:56789/a/b/c.txt?t=win&s=chess#para5,这些将是:

请求-URI

STD 66 / RFC 3986 中没有定义甚至使用术语“request-URI”。

【讨论】:

  • 谢谢 unor,很好的基本示例和很好的参考 tools.ietf.org/html/rfc3986#section-1.1.3 网站。
  • 您能否编辑您的答案并提供“这就是 URI 的样子”和“这就是 URL 的样子”的概览?
【解决方案2】:

术语“Request-URI”由 HTTP 标准 (RFC 2616, §5.1.2) 定义,指的是实际 HTTP 请求中给出的 URL。

在正常的 HTTP 请求中,URL 方案和主机在发送请求时已经被处理(并且 URL 片段在 HTTP 协议级别根本不存在),这意味着 Request-URI 是 @987654322 @,后面可能跟 ?URL-query string

也就是说,这部分完整的URL:

https://example.org/path/to/file?param=42#fragment
                   ^^^^^^^^^^^^^^^^^^^^^^

请注意,它包括前导 /

例外情况包括:

  • 例如OPTIONS HTTP 方法,Request-URI 可能只是 *
  • 当 HTTP 服务器充当代理时,Request-URI 可能是一个完整的absolute-URL string(仍然不包括片段)。
  • 其他更精细/非标准的东西。

【讨论】:

    【解决方案3】:

    我知道这是一个老话题,但我在我目前的研究中遇到了它,也许其他人会有相关问题:

    您可以在 apache 服务器语言中找到术语“Request_URI”,我不知道是不是这样...... 这里它类似于“路径”,即用于通过 .htaccess 锁定对特定 URL 的访问,如下所示:

    网址: www.example.de/lockthissite/

    .ht访问代码:

    SetEnvIfNoCase Request_URI ^/lockthissite/$ SECURED=yes

    AuthType 基本
    AuthName“限制访问”
    AuthUserFile /path/to/my/.htpasswd
    需要有效用户
    满足任何
    订单允许,拒绝
    允许所有
    拒绝来自 env=SECURED

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 2011-05-24
      • 2011-06-22
      • 2010-12-31
      相关资源
      最近更新 更多