2013-02-07 104 views
1

我正在部署一個Tomcat服務,目的是存儲Web靜態資源和庫(特別是JQuery)。該服務爲https網站提供資源,而Tomcat服務使用普通http進行部署,因此瀏覽器會阻止Tomcat資源並阻止頁面正常加載。HTTPS頁面訪問非https資源

而且我無法在託管主網站的服務器上存儲靜態網絡資源。

我被建議爲Tomcat啓用https,但這會讓我在網站上獲得一些性能。 有沒有更好的解決方案呢?

感謝, 胡志明市阮

+1

我理解你的預訂,但我的標準建議是:你知道你會得到什麼性能嗎?如果你不知道這一點,你不知道你會獲得多少,因此沒有優化的意義。你的問題聽起來像「一般的恐懼」,而不是實際的測量。如果事實並非如此 - 但是有些人可能會偶然發現這個問題並且利用這個建議,這是道歉。如果你有號碼,請參考科迪的答案 –

回答

1

最簡單的解決方案是使用Google's hosted jQuery library,如果這就是你所需要的。

如果這是不可接受的,那麼您可以考慮使用ApacheNginx來託管您的靜態內容而不是Tomcat(它是用Java編寫的動態Web應用程序的容器)。這兩個建議都比較常用於這個用例,並且有大量優化性能的選項。

這就是說,使用HTTPS總是會對性能造成一定影響,無論使用哪種Web服務。這是因爲HTTPS連接的大部分性能開銷與SSL握手相關(如果我記得,它涉及一些次要的加密簽名)。然而,這種影響在事物方案中相對較小。對於像jQuery那樣不經常更改的靜態文件,您可以在文件上設置正確的緩存標頭,並進一步減少這種影響。 (同樣,這種配置在Apache或Nginx中比在Tomcat中更容易完成)。