Http是無狀態 無連線的是什麼意思?

2021-09-26 10:50:29 字數 1728 閱讀 1731

無連線

無連線的含義:是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

keep-alive 功能(長連線):使客戶端到伺服器端的連線持續有效,當出現對伺服器的後繼請求時,keep-alive 功能避免了建立或者重新建立連線。但是,對於負擔較重的**來說,這裡存在另外乙個問題:雖然為客戶保留開啟的連線有一定的好處,但它同樣影響了效能,因為在處理暫停期間,本來可以釋放的資源仍舊被占用。

無狀態

無狀態是指:協議對於事務處理沒有記憶能力。即我們給伺服器傳送 http 請求之後,伺服器會給我們響應資料過來。但是,響應完結束後,伺服器不會記得剛才請求了什麼,還有響應過什麼。

缺點:缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快,簡化了伺服器的設計,使伺服器更容易支援大量併發的http請求。

http 協議這種特性有優點也有缺點,優點在於解放了伺服器,每一次請求「點到為止」不會造成不必要連線占用,缺點在於每次請求會傳輸大量重複的內容資訊。

http 無狀態的特性嚴重阻礙了某些互動的實現,畢竟互動是需要承前啟後的,簡單的購物車程式也要知道使用者到底在之前選擇了什麼商品。於是,兩種用於保持 http 狀態的技術就應運而生了,乙個是 cookie,而另乙個則是 session。

cookie——cookie資料放在瀏覽器中。通過瀏覽器來保持狀態的。

cookie:可以保持登入資訊到使用者下次與伺服器的會話,換句話說,下次訪問同一**時,使用者會發現不必輸入使用者名稱和密碼就已經登入了(當然,不排除使用者手工刪除cookie)。而還有一些cookie在使用者退出會話的時候就被刪除了,這樣可以有效保護個人隱私。

cookies最典型的應用是:判定註冊使用者是否已經登入**(進而達到下一次登陸時,免去重新輸入登陸的操作),使用者可能會得到提示,是否在下一次進入此**時保留使用者資訊以便簡化登入手續,這些都是 cookies 的功用。另乙個重要應用場合是「購物車」之類處理。使用者可能會在一段時間內在同一家**的不同頁面中選擇不同的商品,這些資訊都會寫入 cookies,以便在最後付款時提取資訊。

cookies的應用原理:就是,伺服器為客戶建立乙個唯一識別碼,並以此為索引在伺服器的後端資料庫中產生乙個專案,就這在給客戶的響應報文中新增乙個叫做set-cookie的首部行,將這個唯一識別碼傳送給客戶,客戶收到響應後,瀏覽器會在他管理的cookie檔案中新增一行關於這個的資訊,這樣當客戶繼續訪問此**時,瀏覽器就會從cookie檔案中取出這個**的識別碼,並放到http請求報文的cookie首部行中,這樣這個**就可以跟蹤使用者在該**的活動了。

應用:免登陸操作、、、購物車功能。

session——資料存在伺服器當中,通過伺服器來保持狀態的

http協議 無連線 無狀態

無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。早期這麼做的原因是 http 協議產生於網際網路,因此伺服器需要處理同時面向全世界數十萬 上百萬客戶端的網頁訪問,但每個客戶端 即瀏覽器 與伺服器之間交換資料的間歇性較大 ...

為什麼說標準的HTTP是無狀態 無連線的?

1 什麼是標準的http協議?2 什麼是無連線?無連線 限制每次連線只處理乙個請求,伺服器處理完客戶的請求並收到客戶的應答後就斷開連線。3 怎麼理解無狀態?協議對於事務處理沒有記憶能力。對同乙個url請求沒有上下文關係。每次請求都是獨立的,它的執 況和結果跟前面的請求和之後的請求沒有直接關係,不會受...

HTTP協議的 「無連線,無狀態」

http 是乙個屬於應用層的物件導向的協議,http 協議一共有五大特點 1 支援客戶 伺服器模式 2 簡單快速 3 靈活 4 無連線 5 無狀態。無連線無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。早期這麼做的原因是...