教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Session超時是什么意思?Session超時管理【W(wǎng)eb前端培訓】

更新時間:2022年12月27日10時17分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

  當客戶端第一次訪問某個能開啟會話功能的資源時,Web服務器就會創(chuàng)建一個與該客戶端對應的HttpSession對象。在HTTP協(xié)議中,Web服務器無法判斷當前的客戶端瀏覽器是否還會繼續(xù)訪問,也無法檢測客戶端瀏覽器是否關閉,所以,即使客戶端已經(jīng)離開或關閉了瀏覽器,Web服務器還是會保留與之對應的HttpSession對象。隨著時間的推移,這些不再使用的HttpSession對象會在Web服務器中積累得越來越多,從而使Web服務器的內(nèi)存耗盡。

  為了解決上述問題,Web服務器采用了超時限制的辦法判斷客戶端是否還在繼續(xù)訪問。在一定時間內(nèi),如果某個客戶端一直沒有請求訪問,那么Web服務器就會認為該客戶端已經(jīng)結束請求,并且將與該客戶端會話所對應的HttpSession對象變成垃圾對象,等待垃圾收集器將其從內(nèi)存中徹底清除。如果瀏覽器在超時后再次向服務器發(fā)出請求訪問,那么Web服務器則會創(chuàng)建一個新的HttpSession對象,并為其分配一個新的ID屬性。

  在會話過程中,會話的有效時間可以在web.xml文件中設置,其默認值由Servlet容器定義。在Timecat安裝目錄的conf文件夾下的web.xml文件中,可以找到如下一段配置信息:

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

  在上面的配置信息中,設置的時間值以分鐘為單位,即Tomcat服務器的默認會話超時間隔為30分鐘。如果將session-timeout元素中的時間值設置成0或一個負數(shù),則表示會話永不超時。由于Tomcat安裝目錄\conf\web.xml文件對站點內(nèi)的所有Web應用程序都起作用,因此,如果想單獨設置某個Web應用程序的會話超時間隔,則需要在相應項目的web.xml文件中進行設置。

0 分享到:
和我們在線交談!