我在服務器端找到了很多關於相對路徑跟蹤 - 斜槓問題的答案,但在客戶端沒有找到答案。在這裏幫助我。URL:遵循相對路徑和尾部斜槓的規則
我正在編寫一個網絡爬取器來統計一組網站,並且遇到問題。一個網站我工作有尾隨斜線相對路徑導航欄一個,並打算這些路徑被視爲絕對的,就像這樣:
http://www.example.com/foo/bar
頁面上
導航欄鏈接地址 - >foo/
,baz/
, quox/
意絕對URL - >http://www.example.com/foo/
,http://www.example.com/baz/
,http://www.example.com/quox/
的問題是,據我所知,這是不規範的行爲 - 然而,Firefox和Chrome都漢將這些路徑視爲絕對的。在第5.1節中RFC 1808和C.1>http://www.example.com/foo/foo/
,http://www.example.com/foo/baz/
,http://www.example.com/foo/quox/
特別 -
SPEC-正確絕對URL:根據RFC 1808,並RFC 2396,這些應象相對路徑處理,這樣在RFC 2396中,第四個例子顯示了這種情況被明確視爲相對路徑。在Ruby中,我正在編寫爬網程序,Addressable gem根據規範處理它們。
更糟糕的是有問題的服務器很高興返回200 OK了這些路徑,和所有的人都有這樣的導航欄:所以我最終爬行http://www.example.com/foo/
這是同一頁http://www.example.com/foo/foo/
,http://www.example.com/foo/foo/foo/
等,組合方法來奇怪的URL像http://www.example.com/foo/baz/quox/foo/
所以這裏的問題:我錯過的東西,允許Chrome和Firefox都將這些網址解釋爲絕對路徑?有什麼方法可以消除規範正確,絕對路徑是預期的情況?