2012-02-07 66 views
0

有沒有區別:<img src="http://www.foo.com/bar.jpg" /><img src="/bar.jpg" />?在後一種情況下,瀏覽器端需要額外的工作嗎?爲什麼這兩個工作?沒有主機名的網址

+0

只要你的HTML頁面和bar.jpg在同一個目錄下,你可以簡單地指定'src =「bar.jpg」'。 'src =「/ bar.jpg」'將在HTML頁面所在站點的根目錄中查找bar.jpg。 – Ram 2012-02-07 15:52:10

回答

1

/bar.jpg是引用網站根目錄的絕對路徑。因此,這種行爲應該大致相同。

../bar.jpg這樣的相對路徑是另一回事,但我不認爲服務器會在所有三種情況下都有足夠的信息非常有效時決定更加努力地工作。

反對編碼完整站點URL的主要參數是,您可能希望在將來移動網站,以便根據路徑是否是硬編碼而可能令人討厭。

針對/bar.jpg的主要觀點是,您可能希望在與domain.com/site1,domain.com/site2等相同的域中託管多個網站,這會使絕對根路徑變得有點麻煩。

+0

移動網站的好處。你說的一件事:我不認爲服務器會在所有三種情況下有足夠的信息非常有效時決定更加努力._我相信服務器確實無法工作,因爲它是一個瀏覽器必須從當前文件中的相對路徑和當前文件的絕對路徑中構建完全限定的url。我錯了嗎?這是我的問題的主要觀點。 – clime 2012-02-10 22:55:20

+0

這是一個很好的觀點。我的知識是有限的,但由於HTTP是無狀態的,我懷疑你是對的。既然如此,最多你可能會在瀏覽器代碼中查找一兩個'if'條件。一個很小的差別。 – IanGilham 2012-02-16 17:24:00

1

這是一個nice article我在一分鐘前發現 - 但是,這是相當基本的信息。我傾向於使用絕對路徑,因爲在服務器端編碼方面,當頁面實際加載時,並不總是100%確定(這在WordPress中尤爲常見,因爲插件可能會加載到頁面中等) 。因此,我發現使用絕對路徑相對於相對路徑總是最安全的。但是,對於前端編碼,我認爲相對路徑是肯定的,不應該給你任何問題。

+0

從該文章:_「如果要鏈接到當前子文件夾中的文件文件夾中,提供該文件的文件路徑,如下所示:「_'Read about my Tahiti vacation.'。這似乎是錯誤的。 – clime 2012-02-10 22:48:14

+0

是的,我不會包含第一個「/」 – 2012-02-11 05:57:41

相關問題