HTTP協議的狀態
最新
07-02
無狀態的HTTP協議
HTTP是一種無狀態的協議。也就是說,HTTP協議不對請求和響應之間的通信狀態進行保存。它對自己發過哪些請求,有哪些響應,都不能持久化處理。
使用HTTP協議時,每當有新請求發送時,就會有對應的新響應產生。並不會保存之前的請求或響應報文。
為什麼會設計成無狀態
在使用HTTP協議時,只要新的請求,就會產生對應的新響應。並不保存狀態。這種設計方法,是為了更快地處理大量的事務,確保協議的可以伸縮性。
任何一件事情,都具有兩性,有利就有弊。無狀態雖然解決了快速處理事務的問題,但是沒有狀態,我們當前使用的網站,基本上是無法正常使用的。那麼是通過什麼技術手段,解決這個問題的呢?
如何保存狀態
隨著WEB不斷發展、業務場景的多樣化,因無狀態而導致業務處理變得棘手的情況越來越多。例如,很多涉及到登錄的網站,當你在登錄頁面登錄完成後,去其他頁面後,需要繼續保持這個登錄狀態。網站為了能夠掌握是誰發送的請求,需要保存用戶的狀態。
為了實現這個願望,於是兩種用於保持HTTP連接狀態的技術就應運而生了,一個是Cookie,而另一個則是Session。
Cookie是通過客戶端保持狀態的解決方案。Session是通過伺服器來保持狀態的。
有了Cookie和Session再用HTTP協議通信,就可以管理狀態了。有關Cookie和Session的詳細內容,以後再做詳細介紹。
小結
無狀態協議優勢和缺點;如何解決無狀態帶來的問題。
最後
這是我的HTTP協議學習筆記,會以連載的形式,第一時間發布在這個公眾號。作為測試和開發的基礎知識,我們只有基礎打穩了,才能讓測試之路走的更遠,讓測試工作更加有深度。
TAG:測試開發之美 |