HTTP無狀態協議和Connection:Keep-Alive容易犯的誤區


名詞解釋:
HTTP無狀態:無狀態是指協議對於事務處理沒有記憶能力,服務器不知道客戶端是什么狀態。從另一方面講,打開一個服務器上的網頁和你之前打開這個服務器上的網頁之間沒有任何聯系
如果你要實現一個購物車,需要借助於Cookie或Session或服務器端API(如 NSAPI and  ISAPI)記錄這些信息,請求服務器結算頁面時同時將這些信息提交到服務器
當你登錄到一個網站時,你的登錄狀態也是由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)中設定這個時間
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM