回答
每http://tools.ietf.org/html/rfc3986
在2.2節保留字符,以下字符中列出:
保留= GEN-delims /子delims
GEN-delims =「:」 /「 /「/」?「/」#「/」[「/」]「/」@「
sub-delims =」!「/」$「/」&「/」'「/」 「)」/「*」 /「+」 /「」 /「;」 /「=」
該規範接着說:
如果URI組件數據將與保留字符的 目的爲衝突分隔符,那麼在形成URI之前,衝突數據必須爲 百分比編碼。
接着,在第2.3節未保留的字符,以下所列:
「」未預留= ALPHA/DIGIT /「 - 」//「_」 /「〜」
[RFC 3986 - ** 3.4節**](http://tools.ietf。 org/html/rfc3986#page-23)具體描述了查詢字符串,特別包括子分隔符和其他一些子分隔符。總結:''''''''''''''''''''''''''''''''''''''','''''''''''''''''''''''' ,''','''','(',')','*','+',',';','=',':','@','/', ?' – MrWhite
維基百科有你的答案:http://en.wikipedia.org/wiki/Query_string
「URL編碼:某些字符不能是URL的一部分(例如,空間)和其他一些字符在URL中具有特殊含義:例如,字符#可用於進一步指定文檔的子部分(或片段); character =用於將名稱與值分開。查詢字符串可能需要轉換以滿足這些約束。這可以使用稱爲URL編碼的模式完成。
特別是,編碼的查詢字符串使用下列規則: ' '
- 字母(AZ和az),數字(0-9)和字符,' - ', '〜' 和'_'保持原樣
- SPACE編碼爲'+'或%20 [需要的引證]
- 所有其他字符都編碼爲%FF十六進制表示,其中任何非ASCII字符首先編碼爲UTF-8 (或其他指定編碼)
T對應於代字符(「〜」)字符的八位字節通常被舊的URI處理實現編碼爲「%7E」;在不改變其解釋的情況下,「%7E」可以替換爲「〜」。 將SPACE編碼爲'+'並選擇「原樣」字符區分此編碼與RFC 1738.「
關於格式,查詢字符串是名稱值對。?將查詢字符串與URL。每個名稱值對由一個和號(&)分隔,而名稱(鍵)和值由等號(=)分隔。例如。 http://domain.com?key=value&secondkey=secondvalue
在結構在我提供的維基百科參考:
- 問號被用作分離器,而不是查詢字符串的一部分。
- 查詢字符串由一系列字段值對組成
- 在每對中,字段名稱和值由等號'='分隔。
- 該系列配對由「&」號分隔,'&'(或分號,';'表示HTML中嵌入的URL,不是由...生成;請參見下文)。
- W3C建議除了&符分隔符[6]之外,W3C還建議所有Web服務器都支持分號分隔符[6],以允許HTML文檔中的URL中的應用程序/ x-www-form-urlencoded查詢字符串,而無需實體轉義符號。
此鏈接有您需要的答案和格式化值。
https://perishablepress.com/url-character-codes/
爲了您的方便,這是清單:比那些需要進行轉義被允許在URL其他
< %3C
> %3E
# %23
% %25
{ %7B
} %7D
| %7C
\ %5C
^ %5E
~ %7E
[ %5B
] %5D
` %60
; %3B
/ %2F
? %3F
: %3A
@ %40
= %3D
& %26
$ %24
+ %2B
" %22
space %20
請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(vs.而另一個引用的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra
- 1. 什麼是空數組項的有效查詢字符串?
- 2. 查詢字符串前部分URL的名稱是什麼?
- 3. 什麼是查詢字符串的極限/ GET/URL參數
- 4. URL參數和查詢字符串有什麼區別?
- 5. 如何檢查字符串是否是有效的HTTP URL?
- 6. 驗證URL與有效的端口號和查詢字符串
- 7. 重定向查詢字符串的URL非查詢字符串
- 8. 什麼字符在URL中有效?
- 9. 在URL查詢字符串
- 10. 如何檢查查詢字符串中的ID是否有效?
- 11. 爲什麼wget忽略url中的查詢字符串?
- 12. jquery檢查URL是否有查詢字符串
- 13. jquery檢查URL是否有查詢字符串
- 14. URL查詢字符串在字符串中有一個逗號
- 15. 將具有查詢字符串的一個URL重定向到具有查詢字符串的另一個URL
- 16. 什麼是檢查字符串是否是更大字符串的一部分的最有效方法?
- 17. Nutch 1.2 - 爲什麼不能用查詢字符串抓取url?
- 18. 爲什麼在重寫URL中重複查詢字符串?
- 19. 爲什麼UriBuilder.query轉義(url編碼)查詢字符串?
- 20. 爲什麼這個查詢字符串無效?
- 21. Facebook追加到共享URL中的查詢字符串參數是什麼?
- 22. 爲什麼字符串化JSON是一個有效的字符串?
- 23. Wordnet如何知道字符串是否有效查詢字符串
- 24. 檢查字符串是否有效
- 25. 檢查替換字符串是有效
- 26. 檢查UTF16字符串中的所有字符是否有效?
- 27. jQuery的GET查詢字符串的URL
- 28. URL查克 - 查詢字符串
- 29. 重寫和重定向沒有查詢字符串的URL(靜態)與查詢字符串參數的URL
- 30. 如何將沒有查詢字符串的URL重定向到包含查詢字符串的URL?
什麼,看看都需要在這個問題上進行轉義什麼:HTTP: //tutorialoverflow.com/questions/2322764/what-characters-must-be-escaped-in-an-http-query-string – 2012-11-14 05:33:59