如果服務器端使用Proxy server,jsp頁面會出現頁面混亂的問題.(不同用戶登陸,出現的是同一個用戶的資料),為了避免這種情況存在,可以有兩種方法解決.
eg: menu 所在頁面為toppanel.jsp,鏈接就為:http://localhost:8080/q/toppanel.jsp.
這樣user登陸可能會出現manager的menu,manager登陸會出現user的menu,
解決辦法:
1)給toppanel.jsp加一個隨機參數,每次登陸,參數都不同,這樣,強制頁面從服務器端讀取
toppanel.jsp?rand=System.currentTimeMillis()
2)直接在jsp頁面中加入:
<%
request.setAttribute("decorator", "none");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
==============================================================
附1: 如果是html頁面,則加入:
<meta http-equiv="Expires" content="-10">
<meta http-equiv="Pragma" content="No-cache">
<meta http-equiv="Cache-Control", "private">
附2:Proxy Server介紹
另 一方面,代理还有一个好处,在有些站点访问不到的情况下也可以借助代理服务器,比如在以前用169拨号上网只能访问国内的站点,而不能访问国外的站点,此 时借助代理服务器就可以实现对国外站点的访问
提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
Proxy 在字面上的意思是代理人(所以亦可稱作代理伺服器)。
Proxy伺服器的服務就是為了提高用戶端對 Internet 存取的速度。
(圖一)
Proxy伺服器可以接受使用者的要求至 Internet 上抓取網頁,當抓到網頁資料時,它會將網頁資料複製一份存放在自己的硬碟裡,再將網頁資料傳送給提出要求的使用者。當有另一位使用者要求讀取同一份網頁資料時,Proxy 伺服器即可將存放於硬碟上的網頁資料傳送給另一位使用者。這樣一來,便可以省下可貴的頻寬給真正有需要的人使用(圖二)。
Proxy 的運作
(1) 使用者 User (Client) 提出要求
(2) Proxy Server本身是否有所需資料,若有則跳至(6)
(3) 向真正的 Web Server 提出索取資料需求
(4) 真正的 Web Server 回應資料
(5) Proxy Server 儲存 WebServer 回應的資料
(6) Proxy 回應使用者 (Client) 需求
使用 Proxy Server 的好處
1.減少不必要的傳輸, 降低網路的負載
2.加快擷取網頁的速度, 減少等待的時間
3.提供使用防火牆的區域網路連上 Internet 的方法
目前各種常見的 Proxy Server
1.Squid : 適用於一般安裝 UNIX 系統的伺服器, 目前最多人使用.
2.CERN-HTTPD
3.Netscape Proxy
4.Harvest
5.IBM-Secure-Export-ICS
6.MSProxy
7.Apache
8.Commerce-Builder