2010-03-19 94 views
0

我一直在思考一種簡潔的負載平衡方法,並且需要的一件事就是能夠從多個位置在HTML頁面上加載圖像,而無需重寫URL(在每個負載上)是否可以使用HTTP重定向非HTML文件?並鏈接重定向?

那麼,我需要能夠做的是有一個URL是「靜態」URL。如http://example.com/myimage.png雖然圖像實際上不包含在example.com中。因此,example.com會執行302或301或307 HTTP響應,導致重定向到2.example.com。瀏覽器如何處理像這種情況下的圖像?另外,如果2.example.com也沒有包含它,並且它去了3.example.com,那麼瀏覽器如何處理多個重定向呢? (請注意,我問這個,因爲我從來沒有見過的任何東西,但一個HTML頁面301重定向)

而且,其狀態代碼將是最好的使用。 301的意思是「永久移動」,這個「移動」不是永久性的,所以我不希望它被緩存。我應該使用307嗎?這是由搜索引擎和現代瀏覽器支持的嗎?

回答

3

重定向是HTTP的概念,適用於可以通過HTTP傳遞,不僅HTML的任何資源。在大多數現代瀏覽器中,鏈接重定向和非HTML重定向都可以正常工作。

如果你想臨時重定向,使用302,除非你想重定向POST並提出爲好。問題是,大多數實現將發出GET用於POST或PUT後的新資源地址,進行了3​​02

注意,303和307是​​HTTP 1.1特有的。

+0

是的,但這是由現代瀏覽器和搜索引擎蜘蛛支持? – Earlz 2010-03-19 15:44:23

+0

是的,它受到兩者的支持。 – ceejayoz 2010-03-19 16:06:53

2

我會建議像這樣的負載平衡。負載平衡不是3xx響應的目的。

HTTP協議具有緩存功能,可以幫助減少服務器負載。還有用於負載平衡的服務器技術。這些技術得到很好的發展將更加穩定和可重用。

+0

負載平衡只是我的一個想法..我只是想實驗..(如在,我沒有把它放入生產或任何東西) – Earlz 2010-03-19 15:43:34

0

篤Ç說,我覺得你找錯了樹。

如果你想做負載平衡,那麼做負載平衡。循環法DNS是最簡單的方法(並且在許多方面比更昂貴的解決方案更有效)。如果您必須嘗試在具有不同FQDN的服務器之間進行負載平衡,請使用javascript生成URL客戶端。

您的文章的殘餘適用於約重定向其他問題。有很多關於搜索引擎優化的不良建議。谷歌擁有約92%的全球市場,併發布了相當詳細的規格說明他們如何蜘蛛網站和排名。在您的域名中重定向不應影響您在任何主管搜索引擎中的排名。在您的域外重定向只會改善目標的排名。

是的,瀏覽器對單個請求所遵循的重定向數量實施了限制 - 但它因瀏覽器而異。