CodeGym /Java Course /Module 3 a ɛto so abien /HTTP 標頭第 2 部分

HTTP 標頭第 2 部分

Module 3 a ɛto so abien
等級 9 , 課堂 6
開放

7.1 Keep-Alive 頭

還有一些更有用的標題。Keep-Alive標頭告訴服務器保持連接打開:服務器不會在發送響應後立即關閉連接。這將導致同一客戶端對服務器的下一次請求更​​快地完成。

這種標頭的示例:

Connection: Keep-Alive

但如果所有客戶端都需要永久連接,那麼問題就會從服務器端開始。服務器將不可用或開始自行關閉連接。

7.2 緩存控制頭

Cache-Control標頭可用於控制內容緩存。正確配置的緩存可以加快內容的處理速度,配置不當的緩存會突然產生問題。

禁用緩存,您需要編寫以下標頭:

Cache-Control: no-cache, no-store, must-revalidate

緩存中不應存儲任何內容——既不是來自客戶端請求,也不是來自服務器響應。請求總是發送到服務器,響應總是被完全下載。

您還可以啟用最原始和最可靠的緩存類型

Cache-Control: no-cache

在發出副本之前,緩存會查詢源服務器以查看資源是否是最新的。

您可以以秒為單位指定資源緩存時間。標題將如下所示:

Cache-Control: max-age=31536000

此標頭指定內容的最長緩存時間。

您可以在此處閱讀有關緩存的更多信息。

7.3 餅乾

服務器可以在客戶端存儲數據。此類數據稱為cookie。但是,客戶端也可以存儲 cookie。他們對雙方都非常有幫助。

例如,您訪問該站點,並且您已獲得該站點的授權。也就是你上次登錄的時候,服務器命令瀏覽器存儲某個用戶登錄成功的信息。

這是 Cookie 在請求中的樣子:

Cookie: name=value;name2=value2;nameN=valueN00

Cookie 通常由瀏覽器存儲,並且與特定域相關聯。當您再次訪問同一個域時,cookie 會自動添加到 http 請求和 http 響應中。服務器/域無法接收由另一個服務器/域存儲在瀏覽器中的 cookie。

每個 cookie 有 4 個主要參數:

  • 姓名;
  • 意義;
  • 有效期(保存多長時間);
  • cookie 綁定的域。

Cookies是以文本形式存儲和傳輸的,所以name和value都是字符串。如果未指定 cookie 過期時間,則它們會在瀏覽器關閉後被銷毀。

7.4屆

用戶登錄站點後,他們說站點和服務器之間已經建立了會話。

服務器本身創建一個特殊對象 -HttpSession,它存儲所有必要的信息以與授權客戶端一起工作。並且這個對象的唯一編號以Cookie的形式存儲在瀏覽器中。

Java Web 服務器通常使用一個名稱JSESSIONID來存儲會話 ID。它看起來像這樣:

Cookie: JSESSIONID =ABAD1D

在服務器端,可以設置session的生存期,以及是否在瀏覽器關閉時自動關閉。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION