我有兩臺主機名爲comp1
和comp2
的服務器。我也有一個動態映射到兩臺服務器之一的浮動別名(master
)。我服務於兩臺服務器的相同小程序。客戶端通常連接到master
,但直接連接到comp1
或comp2
是完全可以接受的。主機名別名對Java小程序緩存有什麼影響?
客戶抱怨他們總是不得不等待applet加載(這是相當大的)。我認爲一旦客戶端下載了必要的jar包,它們就會被緩存起來,不會再被加載。起初我以爲客戶端的插件被設置爲不緩存,但我認爲我找到了問題的原因,儘管我不明白。
- 第一次將客戶端連接到
master
(目前指向comp1
)。必須等待罐子下載。這是預料之中的。 - 再次將客戶端連接到
master
。我不必等待罐子下載。這也是預期/期望的行爲。 - 將客戶端連接到
comp1
。必須等待罐子下載。我寧願不會發生這種情況,因爲它是同一臺服務器,但我可以理解爲什麼,因爲comp1
在客戶端看來是一個完全不同的主機。 - 將客戶端連接回
master
。再次,我必須等待所有的罐子下載。 這不是我所期望的。罐子應該已經在步驟1/2下載了。
使用Java控制面板,我可以看到緩存中的資源。在我看來,資源是通過URL鍵入的,所以我不知道我爲什麼得到我所做的。看起來好像是同一臺服務器的兩個不同的主機名正在搞亂客戶端的緩存。
我應該提到master
主機名不僅僅是一個DNS別名。這是一個實際不同的IP地址,comp1/comp2
動態綁定/解除綁定到應用程序正在運行。
你能解釋我在這裏看到什麼,或者建議一些調查途徑嗎?
(Applets?..在2011?Geeez ...) – 2011-04-27 20:23:27
@road到yamburg -我知道。這是一個很長的故事...... –
wolfcastle
2011-04-27 20:26:19
雖然這個問題很有趣。我懷疑它與安全有關。 – 2011-04-27 20:28:23