Browser url中的空格;浏览器变聪明了还是服务器变聪明了?

Browser url中的空格;浏览器变聪明了还是服务器变聪明了?,browser,webserver,Browser,Webserver,现在看来,您不再需要在html链接或图像链接中将空格编码为%20。例如,假设您在[house.jpg]上有此图像。注意那里的空间。在html代码中,您可以执行以下操作: <img src="http://example.com/i/my house.jpg" alt="my house"> 它适用于所有当前版本的浏览器。不过,我不确定的是,浏览器是否在请求url之前对其进行编码,或者特定的服务器是否会正确处理带有空格的路径?(阿帕奇) 增编: 很抱歉搞混了。我真正的问题是关于H

现在看来,您不再需要在html链接或图像链接中将空格编码为%20。例如,假设您在[house.jpg]上有此图像。注意那里的空间。在html代码中,您可以执行以下操作:

<img src="http://example.com/i/my house.jpg" alt="my house">

它适用于所有当前版本的浏览器。不过,我不确定的是,浏览器是否在请求url之前对其进行编码,或者特定的服务器是否会正确处理带有空格的路径?(阿帕奇)

增编: 很抱歉搞混了。我真正的问题是关于HTTP协议。 我会让这个保持原样,马克回答。 我在这里发布了一个新问题。
浏览器进行更正

不过,您仍然需要对空格进行编码。仅仅因为它可以在你使用的浏览器中工作并不意味着它有效,也不意味着它可以在任何地方工作

您可以在此处看到保留字符和其他应编码字符的列表:

特别指出:

因此,只有字母数字、特殊字符“$-+!*”()、”和 可以使用用于保留目的的保留字符 在URL中未编码

发生在RFC1738上,阐述了URL中的空间使用:

空格字符被排除在外,因为可能存在有效空格 删除URI时,可能会引入消失和不重要的空格 转录的、排版的或经过文字处理的- 处理程序。在许多情况下,空白也用于分隔URI 上下文


http协议是否需要对文件名中的空格进行编码?e、 g.在“GET/something.htmlhttp/1.1”中@Xah-Lee:HTTP对文件名一无所知,它只知道URL
/some.html
可能是服务器上文件名的一部分,但这是一个实现细节,HTTP只会看到一个包含空格的URL。%20(编码的空格字符)可能在web服务器记录之前被解码。@Xah Lee,我认为RFC非常清楚。RFC2616特别引用RFC2396进行URI格式化。RFC2396代替了RFC1738,我在回答中提到了RFC1738。RFC2396()的第2.4.3部分说,“空格字符被排除在外,因为当URI被转录、排版或接受字处理程序处理时,重要空格可能消失,而不重要空格可能被引入。在许多上下文中,空格也被用来分隔URI。”,是,需要对空格进行编码。@Brad。谢谢你的回答。我在这里发布了一个新问题@Xah Lee,我怎么还没有回答你的问题?有多少种方法可以回答是的,这是必需的。PS我知道URL中需要百分比编码。无论如何,我现在想知道,当在GET头行的文件路径中使用时,http协议是否需要对空格字符进行编码。(尝试使用telnet进行测试…但我忘记了需要哪些其他标头,因此中止了测试)