在三種情況下,<%=request.getHeader("REFERER") %>取值
1:通過鏈接跳過來
2:在地址欄中輸入URL,打回車
3:刷新

當鏈接過來的時候,referer的值是鏈接過來的頁面的URL,正常。我刷新的時候referer的值沒有變,但當我在地址欄中打回車(URL沒有改變,只是打回車),referer值卻變成NULL了。

1):鏈接過來和在地址欄中直接輸入URL,有沒有什么區(qū)別?如果有,有什么區(qū)別?
2):刷新的時候URL為什么不變,為什么還是前一個URL地址,為什么不變成當前的URL?
3):直接輸入為什么得不到 <%=request.getHeader("REFERER")的值?

如果是直接在瀏覽器里輸入有referer的頁面,返回是null,也就是說referer只有從別的頁面點擊連接來到這頁的才會有內容。為NULL就是手工,非null就是連接過來的。刷新的時候,會檢查服務端是否會有更新,沒有的話,則使用本機的緩存,也就是說,你刷新時得到的響應依然是
前一次得到的服務端的內容,因為你的jsp文件沒有變化。
referer是從哪里來的,也就是前一個頁面?;剀?,則沒有以前的,等同于你新打開一個瀏覽器,再次輸入一樣 。刷新,就是重復上一次的操作。

jsp 中 request.getHeader() 相關詳細
System.out.println("rotocol: " + request.getProtocol());
System.out.println("Scheme: " + request.getScheme());
System.out.println("Server Name: " + request.getServerName() );
System.out.println("Server Port: " + request.getServerPort());
System.out.println("rotocol: " + request.getProtocol());
System.out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo());
System.out.println("Remote Addr: " + request.getRemoteAddr());
System.out.println("Remote Host: " + request.getRemoteHost());
System.out.println("Character Encoding: " + request.getCharacterEncoding());
System.out.println("Content Length: " + request.getContentLength());
System.out.println("Content Type: "+ request.getContentType());
System.out.println("Auth Type: " + request.getAuthType());
System.out.println("HTTP Method: " + request.getMethod());
System.out.println("path Info: " + request.getPathInfo());
System.out.println("path Trans: " + request.getPathTranslated());
System.out.println("Query String: " + request.getQueryString());
System.out.println("Remote User: " + request.getRemoteUser());
System.out.println("Session Id: " + request.getRequestedSessionId());
System.out.println("Request URI: " + request.getRequestURI());
System.out.println("Servlet Path: " + request.getServletPath());
System.out.println("Accept: " + request.getHeader("Accept"));
System.out.println("Host: " + request.getHeader("Host"));
System.out.println("Referer : " + request.getHeader("Referer"));
System.out.println("Accept-Language : " + request.getHeader("Accept-Language"));
System.out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding"));
System.out.println("User-Agent : " + request.getHeader("User-Agent"));
System.out.println("Connection : " + request.getHeader("Connection"));
System.out.println("Cookie : " + request.getHeader("Cookie"));
System.out.println("Created : " + session.getCreationTime());
System.out.println("LastAccessed : " + session.getLastAccessedTime());