名詞解釋:
HTTP無狀態:無狀態是指協議對於事務處理沒有記憶能力,服務器不知道客戶端是什么狀態。從另一方面講,打開一個服務器上的網頁和你之前打開這個服務器上的網頁之間沒有任何聯系
當你登錄到一個網站時,你的登錄狀態也是由Cookie或Session來“記憶”的,因為服務器並不知道你是否登錄
優點:服務器不用為每個客戶端連接分配內存來記憶大量狀態,也不用在客戶端失去連接時去清理內存,以更高效地去處理WEB業務
缺點:客戶端的每次請求都需要攜帶相應參數,服務器需要處理這些參數
Keep-Alive:參考另外一篇文章
HTTP Keep-Alive 詳解
容易犯的誤區:
1、HTTP是一個
無狀態的
面向連接的協議,無狀態不代表HTTP不能保持TCP連接,更不能代表HTTP使用的是UDP協議(無連接)
2、從HTTP/1.1起,默認都開啟了Keep-Alive,保持連接特性,簡單地說,當一個網頁打開完成后,客戶端和服務器之間用於傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接
3、Keep-Alive不會永久保持連接,它有一個保持時間,可以在不同的服務器軟件(如Apache)中設定這個時間