Session跟蹤機制是怎樣的?網路安全技術學習

老男孩Linux發表於2021-03-08

  網路安全學習過程中,網路協議相關知識必然會學到Cookie、Session和Token技術。這些是必須要了解的。那麼Session技術是什麼?Session的跟蹤機制又是怎樣的?

  Session技術是什麼?

  使用Cookie和附加URL引數都可以將上一次請求的狀態資訊傳遞到下一次請求中,但是如果傳遞的狀態資訊較多,將極大降低網路傳輸效率和增大伺服器端程式處理的難度。Session技術是一種將會話狀態儲存在伺服器端的技術。客戶端需要接收、記憶和回送 Session的會話標識號,Session可以且通常是藉助Cookie來傳遞會話標識號。

  Session的跟蹤機制是怎樣的?

  Servlet API規範中定義了一個HttpSession介面,HttpSession介面定義了各種管理和操作會話狀態的方法。HttpSession物件是保持會話狀態資訊的儲存結構,一個客戶端在WEB伺服器端對應一個各自的HttpSession物件。WEB伺服器並不會在客戶端開始訪問它時就建立HttpSession物件,只有客戶端訪問某個能與客戶端開啟會話的Servlet程式時,WEB應用程式才會建立一個與該客戶端對應的HttpSession物件。WEB伺服器為HttpSession物件分配一個獨一無二的會話標識號,然後在響應訊息中將這個會話標識號傳遞給客戶端。客戶端需要記住會話標識號,並在後續的每次訪問請求中都把這個會話標識號傳送給WEB伺服器,WEB伺服器端程式依據回傳的會話標識號就知道這次請求是哪個客戶端發出的,從而選擇與之對應的HttpSession物件。WEB應用程式建立了與某個客戶端對應的HttpSession物件後,只要沒有超出一個限定的空閒時間段,HttpSession物件就駐留在WEB伺服器記憶體之中,該客戶端此後訪問任意的Servlet程式時,它們都使用與客戶端對應的那個已存在的HttpSession物件。HttpSession介面中專門定義了一個setAttribute方法來將物件儲存到HttpSession物件中,還定義了一getAttribute方法來檢索儲存在HttpSession物件中的物件,儲存進HttpSession物件中的物件可以被屬於同一個會話的各個請求的處理程式共享。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952968/viewspace-2761811/,如需轉載,請註明出處,否則將追究法律責任。

相關文章