我注意到https://stackoverflow.com//////////questions/4659504/是一個有效的URL。但是https://www.google.com//////////analytics/settings不是。 Web服務器技術有哪些內在差異可以解釋這一點?帶有不必要的斜槓的網址是否應該被正確解釋,還是應該返回一個錯誤?網址中是否有不必要的斜線?
回答
首先,添加一個斜線會像其他任何字符一樣更改URL路徑的語義。因此,根據定義/foo/bar
和/foo//bar
不等同,就像/foo/bar
和/foo/bar/
不等同。
但由於URL路徑主要是用來直接映射到文件系統,網絡服務器通常刪除空路徑段(阿帕奇這是否),使得/foo//bar
和/foo/bar
是處理等效。但這不是預期的行爲;它完成糾錯。
它們都是有效的URL。
但是,Google的服務器無法處理第二個。
沒有具體的理由來處理或拒絕帶有重複斜線的網址;你應該花更多的時間在更重要的事情上。
谷歌的服務器不能做什麼? – Gumbo 2011-01-11 15:56:25
下面是一個例子,顯然它很重要... http://www.mydigitallife.info/2008/07/21/redirect-or-rewrite-to-remove-double-or-multiple-slashes-in-url/ – 2011-01-11 15:57:04
每個應用程序處理請求的方式都有所不同。如果您在設置您的應用程序以在傳送請求之前替換成功的斜槓,則不應該有任何問題。
你認爲什麼「解釋正確」? HTTP只是在服務器名稱被解釋之後才真正指定斜線前面的內容。剩下的完全取決於網絡服務器。它解析了你在該點之後給出的內容(無論它喜歡什麼樣的方式),並向你呈現任何感覺爲該文本提供的HTML。
- 1. 動態網址 - 是否有尾隨斜線?
- 2. 多斜線網址的.htaccess
- 3. htaccess的 - 斜線網址
- 4. 線程是否必要/有用?
- 5. 網址可以通過slysh訪問而不需要斜線?
- 6. backbone.js:在網址末尾有斜線的意義是什麼?
- 7. 是否有必要有base64_encode
- 8. 從網址中刪除尾部斜線
- 9. php echo從網址中刪除斜線
- 10. htaccess的網址有斜槓不匹配
- 11. 用bash從給定路徑中刪除不必要的斜線
- 12. 是否有必要在C#中加入我的線程
- 13. 是否有必要爲舊的索引網址生成站點地圖?
- 14. 帶有self.view.frame的initWithFrame:是否有必要?
- 15. 是否有必要從UI線程中調用Looper.prepare()?
- 16. 添加斜線段塞網址
- 17. 轉換網址斜線參數
- 18. URL末尾的不必要的斜槓
- 19. Python json,不必要的斜槓
- 20. 尾部斜線:是或否?
- 21. 是否有必要在任何網頁至少有一個`H1`?
- 22. Cordova.js是否必要?
- 23. _mmServerScripts是否必要?
- 24. KillTimer是否必要?
- 25. htaccess無法正常工作,有更多斜線的子網址
- 26. htaccess的網址轉發到PHP文件有無斜線
- 27. 是否有必要使用xlib的「XAllocSizeHints()」?
- 28. 的Rails的回報的link_to與網址,而不是點的斜線
- 29. facebook - 必須是具有有效網域的網址
- 30. 在網址url-config中的url中可選的斜線
糟糕,標記了錯誤的東西,請忽略。 – cybermonkey 2015-09-12 15:09:24