HTTP 路径必须以斜杠开头吗?

2023-11-23

我有一个关于 HTTP 格式的问题。 HTTP 请求的第一行看起来像这样:

GET /path/to/resource.txt HTTP/1.1

或者换句话说:

METHOD URI HTTP-VERSION

是否需要URI开始于/性格使得/path/to/resource.txt会是一样的path/to/resource.txt两者都有效吗?

如果领先/不是必需的,是GET / HTTP/1.1 and GET HTTP/1.1也一样吗? (之间有两个空格GET and HTTP/1.1)


See RFC 7230,第 5.3 节请求目标:

一旦获得入站连接,客户端就会发送一个 HTTP 请求消息(第 3 节),其请求目标源自 目标 URI。请求目标有四种不同的格式, 取决于请求的方法以及请求是否 是代理。

request-target = origin-form
                / absolute-form
                / authority-form
                / asterisk-form

你说的是起源形式,描述于第5.3.1小节:

当直接向原始服务器发出请求时,除了 CONNECT 或服务器范围的 OPTIONS 请求(如下详述),客户端 必须仅发送目标的绝对路径和查询组件 URI 作为请求目标。如果目标 URI 的路径组件是 空,客户端必须发送“/”作为原始形式中的路径 请求目标。还发送主机标头字段,如中所定义 第 5.4 节。

例如,客户端希望检索 资源标识为

http://www.example.org/where?q=now

直接从源服务器打开(或重用)TCP 连接到主机“www.example.org”的端口 80 并发送 线路:

GET /where?q=now HTTP/1.1
 Host: www.example.org

前面定义了“绝对路径”第2.7节 as

 absolute-path = 1*( "/" segment )

So yes, some目标标识符是必需的,路径总是以斜杠为前缀,如果未知、空或不适用,则为/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP 路径必须以斜杠开头吗? 的相关文章

随机推荐

  • 使用 HTML5 进行移动开发(iphone、android)的资源和框架 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找主要为 iPho
  • 用 c 封装一个 c++ 库? (不要“外部c”)

    是否可以将 C 库包装到 C 中 我怎样才能做到这一点 有现成的工具吗 需要访问现有的 C 库 但只能使用 C 您可以用 C 语言编写面向对象的代码 因此如果它是面向对象的 C 库 则可以将其包装在 C 接口中 然而 这样做可能非常乏味 特
  • spring-security中基于路径变量的授权

    我的用例是根据 PathVariable 参数对用户进行身份验证和授权 我需要执行一些自定义代码来授权主体 我不确定这里要采取的方法 我已经实现了一个自定义的 AbstractAuthenticationProcessingFilter 和
  • 如何使用 RDD API 在分区内排序(并避免跨分区排序)?

    Hadoop MapReduce shuffle 的默认行为是对分区内的 shuffle key 进行排序 而不是跨分区 这是使键跨分区排序的总排序 我想问如何使用 Spark RDD 实现同样的事情 在分区内排序 但不跨分区排序 RDD
  • “堆内”和“堆外”的区别

    Ehcache 谈论堆内和堆外内存 有什么不同 使用哪些 JVM 参数来配置它们 堆上存储是指将出现在 Java 堆中 并且也受 GC 影响 的对象 另一方面 堆外存储是指由 EHCache 管理的 序列化 对象 但存储在堆外 并且也不受
  • 在 iPhone 中创建 pdf 缩略图

    我是 Objective c iPhone 编程新手 我有一个应用程序 可以在 UIWebView 中成功显示 PDF 但现在我想创建 PDF 的缩略图 我的 PDF 存储在我的资源文件夹中 因此 请给我如何显示 PDF 缩略图的代码 我的
  • 绘制立方体时出现OutOfMemory异常

    我有一个绘制和旋转立方体的类 每次旋转立方体时 我都会使用立方体的新值重新加载缓冲区 public void LoadBuffer GraphicsDevice graphicsDevice buffer new VertexBuffer
  • 如何使用 Android Management API + Organizations 分发私有 Android 应用测试轨道?

    因此 我使用 Android Management API 来管理和处理应用程序到我正在使用的信息亭设备的部署 我创建了一个组织 创建了一项政策 并确保该应用程序仅限于托管的 Google Play 并将该组织分配给该应用程序 我已将一些设
  • 如何查看c中优化后的代码

    我可以使用探查器检查优化情况 可执行文件的大小以及执行所需的时间 我可以得到优化的结果 但我有这些疑问 如何获得优化的 C 代码 C 使用哪种算法或方法来优化代码 提前致谢 您可以使用该选项了解优化的想法 fdump tree optimi
  • 是否可以使用 Google Chrome 作为代理服务器?

    在我的特定网络环境中 Google Chrome 可执行文件可以通过经过身份验证的传出代理服务器访问外部网站 然而 其他可执行文件 当指向该传出代理时 无法执行此操作 我现在有一个想法 使用 Chrome 本身作为其他可执行文件的本地代理
  • 在 Oracle 中为 varchar2 字段创建序列

    我想为这个 varchar 创建一个序列 如果它是一个数字而不是 varchar 那就更容易了 在那种情况下 我可以做 seq no seq no 1 但是 当我想将列中的下一个值存储为 A0000002 而前一个值是 A0000001 将
  • 避免 SSL “您将被重定向到不安全的连接。”信息

    我有一个通过 SSL 提供服务的登录屏幕 用户填写他们的登录名 密码 这将被发布到服务器 此时我想跳出 SSL 因此我将它们重定向回没有 SSL 的同一页面 这会导致浏览器显示警告对话框 您将被重定向到不安全的连接 我怎样才能避免这种情况
  • 如何在 Yii 中使用事件

    我想在 onBeginRequest 事件中运行一些代码 我该在哪里做呢 我认为我不应该将其添加到核心库代码中 我对 Yii 完全是菜鸟 如果您想使用 onBeginRequest 和 onEndRequest 您可以通过将以下几行添加到配
  • VS 2010 中出现“没有可用的编辑器”错误

    当我尝试在 VS 2010 中选择设计器视图时 出现以下错误 没有可用的编辑器 c 用户 teadrinkinggeek 文档 视觉 工作室 2010 网站 website2 About aspx 确保该文件的应用程序 类型 aspx 已安
  • 为什么 Eclipse PHP 无法识别名称空间声明?

    当我输入 namespace ORM 时在 Eclipse 中 它用红色强调 ORM 并表示它需要括号 有没有办法让 Eclipse 识别名称空间 这可能是您的项目设置为5 1 5 2版本 您可以在以下位置更改默认值 Window gt P
  • SEL 执行选择器和参数

    当您拥有的只是一个 SEL 对象时 似乎应该有一种简单的方法来调用带有一些参数的选择器 我似乎找不到正确的语法 MyClass init SEL sel owner NSObject parent int i 10 parent perfo
  • 通过 OneToOneField 删除相关对象

    在这种情况下有什么聪明的方法来执行删除吗 class Bus models Model wheel OneToOneField Wheel class Bike models Model wheel OneToOneField Wheel
  • 为什么 Java 允许大小为 0 的数组?

    java中的数组是固定长度的 那么为什么 Java 允许大小为 0 的数组呢 String strings new String 0 这表明它是空的 IE 您可以对其进行循环 就好像它有项目并且没有结果发生一样 for int k 0 k
  • 出于安全考虑,是否有类似于 jQuery 版本的终止支持之类的内容,类似于生命周期/支持版本的终止

    出于安全原因 我们需要获取 jQuery 支持的版本 是否有类似 jQuery 版本的支持终止之类的内容 类似于 PHP 中的生命周期终止 支持版本 https www php net supported versions php 出于安全
  • HTTP 路径必须以斜杠开头吗?

    我有一个关于 HTTP 格式的问题 HTTP 请求的第一行看起来像这样 GET path to resource txt HTTP 1 1 或者换句话说 METHOD URI HTTP VERSION 是否需要URI开始于 性格使得 pat