會話ID將只顯示,例如,總是創建一個新的會話ID,如果沒有會話ID在請求。
讓我展示一個簡單的測試,我用Spring MVC的項目和Tomcat做的:
從我的server.xml考慮下面的代碼片段
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b session-id %S" />
考慮,我沒有任何餅乾我第一次訪問打開圖像:
127.0.0.1 - - [26/Jun/2017:18:40:53 -0300] "GET /webapp/images/login.png HTTP/1.1" 200 29646 session-id -
因爲它是不是由Spring處理的圖像,我的服務器不會創建一個會話ID ...再次訪問不會幫助
127.0.0.1 - - [26/Jun/2017:18:42:52 -0300] "GET /webapp/images/login.png HTTP/1.1" 304 - session-id -
但是,如果我訪問由Spring MVC的處理方法就會創建一個新的會話(和我沒有在會話的建立完全控制)
127.0.0.1 - - [26/Jun/2017:18:45:16 -0300] "GET /webapp/pages/users.json HTTP/1.1" 200 110 session-id 068FCCF5BC04EDEEC830E3E8CDF2CCDB
現在,訪問相同的圖像從之前的客戶端將請求發送會話ID和Tomcat將能夠登錄其
127.0.0.1 - - [26/Jun/2017:18:48:09 -0300] "GET /webapp/images/login.png HTTP/1.1" 200 29646 session-id 068FCCF5BC04EDEEC830E3E8CDF2CCDB
所以沒有會話ID將被用於圖片,腳本或其他靜態資源創建的。但它真的取決於您的實現或正在使用的框架... 而只是讓你知道,JSESSIONID在Servlet 3.0 specification(CH 7.1.1餅乾,第55頁)。
我們幫不了你,除非你指定服務器如何處理會話。 – 31piy