Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 路径部分中带有//的URL有效吗?_Http_Url_Cookies_Session Cookies_Rfc3986 - Fatal编程技术网

Http 路径部分中带有//的URL有效吗?

Http 路径部分中带有//的URL有效吗?,http,url,cookies,session-cookies,rfc3986,Http,Url,Cookies,Session Cookies,Rfc3986,我有一个关于URL的问题: 我已经阅读了,但仍然有一个关于一个URL的问题: 如果URI包含权限组件,则路径组件 必须为空或以斜杠(“/”)字符开头。如果一个URI 不包含权限组件,则路径无法开始 带有两个斜杠字符(“/”)。此外,URI引用 (第4.1节)可以是相对路径参考,在这种情况下, 第一个路径段不能包含冒号(“:”)字符。ABNF 需要五条单独的规则来消除这些情况的歧义,其中只有一条 它将匹配给定URI引用中的路径子字符串。我们 使用通用术语“路径组件”来描述URI子字符串 由解析器匹

我有一个关于URL的问题:

我已经阅读了,但仍然有一个关于一个URL的问题:

如果URI包含权限组件,则路径组件
必须为空或以斜杠(“/”)字符开头。如果一个URI 不包含权限组件,则路径无法开始
带有两个斜杠字符(“/”)。此外,URI引用
(第4.1节)可以是相对路径参考,在这种情况下,
第一个路径段不能包含冒号(“:”)字符。ABNF
需要五条单独的规则来消除这些情况的歧义,其中只有一条 它将匹配给定URI引用中的路径子字符串。我们 使用通用术语“路径组件”来描述URI子字符串
由解析器匹配到这些规则之一

我知道,
//server.com:80/path/info
是有效的(它是一个与架构相关的URL)

我也知道
http://server.com:80/path//info
无效

但我不确定以下说法是否有效:

http://server.com:80//path/info
我问题背后的问题是,cookie没有发送到
http://server.com:80//path/info
,由URI创建时
http://server.com:80/path/info
限制为
/path

请参见和

共识:浏览器将按原样执行请求,不会更改请求。
/
字符是路径分隔符,但路径段定义为:

path-abempty  = *( "/" segment )
segment       = *pchar
表示
http://example.com/
可以直接后跟另一个斜杠,无限大。服务器可能会忽略它,但浏览器不会,正如您所了解的那样

短语:

如果URI不包含授权组件,则路径无法开始 带有两个斜杠字符(“/”)

允许,但特别说明在这种情况下,可能不存在权限(
server.com:80

所以:是的,它是有效的,不,不要使用它