http是一個無狀態(tài)的面向連接的協(xié)議。
http無狀態(tài):無狀態(tài)協(xié)議是指http協(xié)議本身對于事務處理沒有記憶功能比搭,服務器不知道瀏覽器的狀態(tài)募判。通俗的即使你登錄了伦意,去訪問同一個網(wǎng)站的不同網(wǎng)頁姆泻,服務器都不會知道你是誰零酪,如果需要記錄登錄用戶的信息,用戶操作拇勃,用戶行為等數(shù)據(jù)需要使用cookie或session來存儲四苇。
keep-alive:從HTTP/1.1起,瀏覽器默認都開啟了Keep-Alive方咆,保持連接特性月腋,客戶端和服務器都能選擇隨時關閉連接,則請求頭中為connection:close。簡單地說榆骚,當一個網(wǎng)頁打開完成后片拍,客戶端和服務器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網(wǎng)頁妓肢,會繼續(xù)使用這一條已經(jīng)建立的TCP連接穆碎。但是Keep-Alive不會永久保持連接,它有一個保持時間职恳,可以在不同的服務器軟件(如Apache)中設定這個時間。
誤解:無狀態(tài)不代表HTTP不能保持TCP連接方面,更不能代表HTTP使用的是UDP協(xié)議(無連接)放钦。即使http在無狀態(tài)下,只要客戶端和服務器的頭部信息connection:keep-alive恭金,則在有效期內他們使用同一條TCP連接操禀。