2010-08-04 79 views

回答

5

HTTP协议使用的URI格式不允许在URL中使用空格。

RFC 2396 2.4.3节

+0

更具体地说,URI规范不允许这样做。 HTTP协议只是一个网络通信协议。 – BalusC 2010-08-04 18:35:14

+0

@BalusC:澄清。 – SLaks 2010-08-04 18:36:19

+0

为什么这会降低投票率? – SLaks 2010-08-04 19:00:29

1

我不完全得到你的意思,但空间20%在地址栏“+”更直观的解码 - 许多非字母数字字符都没有任何部分url编码标准

2

RFC 1738报告URL中不允许有空格。 Internet Explorer在其对编码空间的要求方面声名狼借。

+0

哈哈。 Internet Explorer及其愚蠢的滑稽动作。 – BoltClock 2010-08-04 18:36:44

+0

mozilla让我使用空格 – 2010-08-04 18:38:13

+1

我知道,我知道。那不是新闻;这将是如果IE会遵循标准。 '';-) – kiamlaluno 2010-08-04 18:38:44

2

+表示它所表示的空格字符很重要,因为它们不在URI规范中(RFC 1738,第2.2节)。

更具体地:

Characters can be unsafe for a number of reasons. The space 
    character is unsafe because significant spaces may disappear and 
    insignificant spaces may be introduced when URLs are transcribed or 
    typeset or subjected to the treatment of word-processing programs. 
2

基本上,在一个HTTP分组,空间表示URL的结尾。

一个典型的HTTP请求应该是这样的:

GET /path/index.htm?id=123 HTTP/1.1 

这是用空格分隔字段的所有一行,并在最后一个CRLF(以下用在下一行上更多的东西)。

0

加号是网址中空格的编码之一。另一个是%20,这是空格字符的十六进制等值。更多的是Slaks给出的答案:在查询字符串中编码材料是一个真正的好主意。这是你所问的URL的一部分 - 问号后面的所有内容。

在这个例子中的编码是不完整的,不太好:在&符号“...... & CHS = 640x465 & CHT = BVS & CHCO = A2C180 & CHDS = 0,129.8 & ......”和其他地方应该被编码为'& amp;'

- b

相关问题