HTTP協議是無狀態的,指的是協議對于事務處理沒有記憶能力,服務器不知道客戶端是什么狀態。也就是說,打開一個服務器上的網頁和上一次打開這個服務器上的網頁之間沒有任何聯系。HTTP是一個無狀態的面向連接的協議,無狀態不代表HTTP不能保持TCP連接,更不能代表HTTP使用的是UDP協議,每次的請求都是獨立的,它的執行情況和結果與前面的請求和之后的請求是無直接關系的,它不受前面的請求應答情況直接影響。
以下是一些常見的對狀態的誤解:
有人在解釋HTTP的無狀態時,把它跟有連接對立,說是兩種方式,也就是如果想不無狀態,就必須有連接,但其實不然;
有連接和無連接以及之后的Keep-Alive都是指TCP連接;
有狀態和無狀態可以指TCP也可以指HTTP;
TCP一直有狀態,HTTP一直無狀態,但是應用為了有狀態,就給HTTP加了cookie和session機制,讓使用http的應用也能有狀態,但http還是無狀態;
開始TCP是有連接,后來TCP無連接,再后來也就是現在TCP是Keep-Alive,有點像有連接;
回答所涉及的環境:聯想天逸510S、Windows 10。
HTTP協議是無狀態的,指的是協議對于事務處理沒有記憶能力,服務器不知道客戶端是什么狀態。也就是說,打開一個服務器上的網頁和上一次打開這個服務器上的網頁之間沒有任何聯系。HTTP是一個無狀態的面向連接的協議,無狀態不代表HTTP不能保持TCP連接,更不能代表HTTP使用的是UDP協議,每次的請求都是獨立的,它的執行情況和結果與前面的請求和之后的請求是無直接關系的,它不受前面的請求應答情況直接影響。
以下是一些常見的對狀態的誤解:
有人在解釋HTTP的無狀態時,把它跟有連接對立,說是兩種方式,也就是如果想不無狀態,就必須有連接,但其實不然;
有連接和無連接以及之后的Keep-Alive都是指TCP連接;
有狀態和無狀態可以指TCP也可以指HTTP;
TCP一直有狀態,HTTP一直無狀態,但是應用為了有狀態,就給HTTP加了cookie和session機制,讓使用http的應用也能有狀態,但http還是無狀態;
開始TCP是有連接,后來TCP無連接,再后來也就是現在TCP是Keep-Alive,有點像有連接;
回答所涉及的環境:聯想天逸510S、Windows 10。