Min*_*ock 4 protocols http file path web
我有一个关于HTTP格式的问题.HTTP请求的第一行看起来像这样:
GET /path/to/resource.txt HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
或换句话说:
METHOD URI HTTP-VERSION
Run Code Online (Sandbox Code Playgroud)
它是否需要URI以/字符开头,以便它们/path/to/resource.txt是相同的path/to/resource.txt并且两者都有效?
如果一个领导/是不需要的,都是GET / HTTP/1.1和GET HTTP/1.1同一个吗?(GET和之间有两个空格HTTP/1.1)
获得入站连接后,客户端将发送一条HTTP请求消息(第3节),其中包含从目标URI派生的请求目标.请求目标有四种不同的格式,具体取决于请求的方法和请求是否是代理.
Run Code Online (Sandbox Code Playgroud)request-target = origin-form / absolute-form / authority-form / asterisk-form
你在讨论第5.3.1小节中描述的原始形式:
直接做出请求时,源服务器,比CONNECT或服务器范围OPTIONS请求(如下文详述)以外,客户端必须只发送目标URI的绝对路径和查询组件作为请求对象. 如果目标URI的路径组件为空,则客户端必须发送"/"作为request-target的origin-form中的路径. 还会发送主机头字段,如第5.4节中所定义.
例如,希望检索标识为的资源的表示的客户端
Run Code Online (Sandbox Code Playgroud)http://www.example.org/where?q=now直接从源服务器打开(或重用)TCP连接到主机"www.example.org"的端口80并发送行:
Run Code Online (Sandbox Code Playgroud)GET /where?q=now HTTP/1.1 Host: www.example.org
并且"绝对路径"在第2.7节中已经定义为
Run Code Online (Sandbox Code Playgroud)absolute-path = 1*( "/" segment )
所以,是的,需要一些目标标识符,路径始终以斜杠为前缀,如果未知,空或不适用,则为/.