![]() |
1
61
在通用url组件中保留字符并不意味着当它出现在组件中或组件中的数据中时必须对其进行转义。字符还必须在通用语法或特定于方案的语法中定义为分隔符,并且字符的外观必须在数据中。 通用uri的当前标准是 RFC 3986 ,也就是说:
因此,在查询字符串中显式地允许使用逗号,并且仅当特定方案将逗号定义为分隔符时,才需要在数据中转义逗号。http方案不使用逗号或分号作为查询字符串中的分隔符,因此不需要对它们进行转义。浏览器是否遵循这一标准是另一回事。 对于字符串数据,使用csv应该可以很好地工作,您只需遵循标准csv约定,要么引用数据,要么用反斜杠转义逗号。 至于rfc 2396,它还允许在http查询字符串中使用非转义逗号:
由于逗号在http方案下没有保留的用途,因此它们不必在数据中转义。第2.3节中关于保留字符的注释是,当百分比编码时,那些改变语义的字符通常只适用;字符可以百分比编码,而不改变特定方案的语义,但仍然是保留的。 |
![]() |
2
15
为了回答查询字符串中的有效内容,我检查了发出请求时哪些特殊字符被chrome替换:
注意:这可能并不意味着您不应该转义在为链接生成uri时没有被替换的字符。例如,通常建议不要使用
另一个例子是加号,它是有效的,但当服务器将其作为请求的一部分接收时,通常被视为编码空白。因此,即使它的目的是表示一个加号而不是一个空格,它也应该被编码。 因此,要回答应该编码的内容:无效字符和您想逐字处理但有特殊含义或可能在服务器端造成问题的字符。 |
![]() |
3
9
只使用
|
![]() |
4
5
|
![]() |
5
1
我想指出
在经典的asp中,您可以检查
请注意,您在您的asp.net中也看到了这一点(我认为这不是有意的,但请看):
注意分号被忽略,所以
|
![]() |
6
1
我也有同样的问题。超链接的URL是第三方URL,需要格式为的参数列表
|
![]() |
7
-3
如果要将编码字符发送到 闪存/ SWF 文件,然后你应该编码字符两次!!(因为flash解析器) |
![]() |
errerr · htaccess重写引擎URL解释 6 年前 |
![]() |
user1 · 我的htaccess出现500错误 6 年前 |
![]() |
aBlaze · 如何导航到包含\u的URL? 6 年前 |
![]() |
gtershel · Laravel Url两级深 7 年前 |
![]() |
MarcoLe · Angular 5-路由更改url但不导航 7 年前 |