回答
如果您正在設計自己的自定義擴展字段,則可以使用BASE64或quoted-printable來轉義(和unescape)該值。
如果這是一個自定義字段如何轉義,它完全取決於目標應用程序將如何解析它。如果這是你創建的一些附加內容,你可以堅持使用URL編碼,因爲它很好用,很多語言都內置編碼/解碼方法,所以你的Web應用會對它進行編碼和插入(或者你正在工作的任何東西)會解碼它。
不要指望你的應用可能會得到解析版本的新行;這種機制歷史上只存在於RFC822中,用於將長標題行折成80個字符。 – bobince 2009-02-06 20:46:55
的想法是,HTTP是ASCII
- 僅和換行,並如不允許。如果發送者和接收者都可以解釋你的編碼,那麼你可以編碼任何你想要的,但是你想要的。這就是DNS國際名稱如何使用Host
標題(它被稱爲PUNYCODE)處理。
簡短的回答是:你不這樣做,除非你控制發送者和接收者。
這個問題的實際答案是編碼換行沒有標準。
您可以使用任何Binary-to-text encoding,如URL編碼或Base64,但很明顯,只有發送方和接收方都實現相同的方法才能工作。
RFC 2616確實允許到所解析的字段值的「摺疊」在多行(即套)報頭的值,但換行被視爲單個空格字符和不一部分。
然而,說明書已過時由RFC 7230即禁止摺疊:由每個額外的行前述與至少一個空間或水平製表(
在歷史上,HTTP報頭字段值可以被擴展到多行obs-fold)。
本規範棄用此類行折,除message/http
媒體類型(Section 8.3.1)。
發件人必須不產生一條消息,包括線摺疊
一種用於在HTTP報頭字段值換行符標準不是 - 永不被 - 成立。
- 1. HTTP/1.1頭文件的新行定義
- 2. 如何在郵件中轉義換行符?
- 3. 如何將Javascript中的轉義字符轉換爲.txt文件?
- 4. 如何在bash變量中轉義換行符和製表符?
- 5. 如何在Django模板中的字符串文字中轉義換行符?
- 6. 在轉義html中渲染換行符
- 7. 如何發送POST請求和郵件中包含換行符的HTTP頭?
- 8. 用Ruby中的轉義換行符解析CSV文件?
- 9. 如何使用駝峯RouteBuilder中的http頭字符集定義字節轉換爲字符串?
- 10. 如何在WSGI中間件中添加http頭文件?
- 11. 在兩個頭文件中進行類型定義交換
- 12. ^導出文件中的M個字符,轉換爲換行符
- 13. 如何在生成文件中定義頭文件中的宏
- 14. angular4 http頭文件,如何設置?
- 15. 如何壓縮HTTP響應頭文件?
- 16. 如何解釋HTTP Accept頭文件?
- 17. 如何在CoreNLP中的Regexner映射文件中轉義字符?
- 18. 如何在JSF中轉義taglib文件中的特殊字符?
- 19. Jmeter-HTTP頭文件
- 20. vim:如何跳轉到外部C頭文件中的定義
- 21. 如何在數據幀中轉換頭中的一行
- 22. 如何在Http Authorization Header中轉換併發送字符串?
- 23. 如何轉義[在app.config文件中?
- 24. 如何使用jQuery在xml文件中轉義或替換「&」?
- 25. 在prometheus的HTTP請求中添加自定義頭文件
- 26. PHP換行符在文本文件中
- 27. 文本文件:如果行不以數字開頭,如何刪除換行符? (在emacs或sed中)
- 28. 如何在C++頭文件外定義賦值運算符?
- 29. 如何在ruby中使用標頭進行HTTP頭請求?
- 30. bash如何在文件名模板中轉義特殊字符'@'?
+1 - 意味着你不必擔心超出界限的字符,正在使用什麼字符編碼等。封裝這些東西的RFC822原生方法是可怕的,脆弱的,並且通常不會工作HTTP。 – bobince 2009-02-06 19:27:08