2009-05-26 42 views
9

我們有幾個圖片和PDF文檔可通過我們的網站。這些圖像和文檔存儲在源代碼管理中,並在部署時複製內容。我們正在考慮創建一個單獨的圖像服務器來放置我們的股票圖像和PDF文檔 - 因此顯着減少了我們的部署包的大部分。單獨圖像服務器的優缺點(例如images.mydomain.com)?

有沒有人有這種方法的經驗?

我想知道任何「疑難雜症」 - 像XSS問題和/或瀏覽器問題,從備用子域提供內容?

回答

20

臨:

許多瀏覽器將只分配兩個插座從一臺主機下載資產。因此,如果index.html從www.domain.com下載,並且它引用了6個圖像文件,3個JavaScript文件和3個CSS文件(所有這些文件都在www.domain.com上),則瀏覽器將一次下載2個其他阻塞,直到套接字空閒。

如果您將6個圖像文件關閉到一個單獨的主機上,比如說images.domain.com,您會額外獲得兩個專用於下載圖像的套接字。這使資產下載過程並行化,理論上,您的頁面可以呈現兩倍的速度。

缺點:

如果您使用SSL,你需要要麼得到一個額外的單主機SSL證書images.domain.com或* .domain.com通配符SSL證書(匹配任何子域)。不這樣做會在瀏覽器中產生警告,說該頁面包含混合安全和不安全的內容。

3

優點:

-load平衡

-isolating不同的功能

缺點:

- 更多的工作(當你在主站點上創建一個頁面,你就必須維護在單獨的服務器上的資源)

像XSS這樣的事情是代碼沒有消毒輸入(或輸出)的問題。唯一可能出現的問題是,如果您有用於身份驗證的子域特定Cookie,但這確實是一個小問題。

2

如果您正在提供HTTPS並且您提供來自HTTP域的圖像,那麼當您使用它時會彈出瀏覽器安全警報​​警告。

所以,如果你HTTPS,你需要買HTTPS爲您的圖像域聲譽良好,如果你不想惹惱了地獄的用戶:)

這種情況有解決其他的方式,但這不是特別在這個答案的範圍 - 這只是一個警告!

+1

如果James在說我認爲他是什麼的話,那就是圖像實際上是由輸出內容的腳本(即content-type:image/jpeg)提供的;那麼只要腳本在安全服務器上(https://secure.domain.com/somescript.php?i=4567aldh),這應該不成問題。然後再次,我可能是一個誤解設置... – 2009-05-26 23:51:11

+0

(哎呀,忘了逃脫https部分。它變成了一個鏈接。對不起。:/) – 2009-05-26 23:52:15

7

您還將使用不同的域名向每個請求發送Cookie數據。這可以提高性能。

5

尚未提及的另一件事是您可以使用不同的Web服務器來提供不同類型的內容。例如,您的靜態內容可以通過lighttpd或nginx提供,同時仍然可以在Apache上提供動態內容。