摘要:是不等冪的,例如在上兩次提交相同的文章,則會產生兩個資源。通常緩存只適用于冪等的請求,對于其他類型的響應則無能為力。請求的緩存過程第一次請求時,返回數據。瀏覽器會先檢查目錄中是否有該文件,并且是否過期。
post和get差別最核心的一點是:
緩存機制的不同(能否被瀏覽器緩存)
緩存機制
這里我們用到了開頭所講的冪等性概念。由于網絡的不可靠,使得等冪性顯得特別重要,因此get、head、put、delete一定要設計成等冪的:如果一次請求,服務器收到處理以后,客戶端沒有收到相應,客戶端會再次請求,如果沒有等冪性保障,就會發生意想不到的問題。
post是不等冪的,例如在segmentfault上兩次提交相同的文章,則會產生兩個資源。
通常HTTP 緩存只適用于 idempotent request(冪等的請求),對于其他類型的響應則無能為力。
get請求的緩存過程
第一次請求時,返回數據。
返回數據,在http頭部中包含last-modified(最后修改的時間) Etag(指示資源的狀態的唯一標識)Expires(指示資源在瀏覽器緩存中的過期時間)
然后瀏覽器會將請求回的文件放在Cache目錄下,并保存上述信息
發起第二次請求。
瀏覽器會先檢查Cache目錄中是否有該文件,并且是否過期。同時滿足這兩個條件,則瀏覽器不會在向服務器發送請求,而是直接使用緩存中的文件。
否則,瀏覽器會發送請求服務器 ,并在頭部添加If-Modified-Since 和 If-None-Match。
如果文件從上次訪問至今都沒有被修改過或Etag信息沒有變化,則直接返回一個304的狀態,表明服務器端允許請求訪問資源,但不滿足條件,返回不包含任何響應的主體部分。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101225.html
摘要:前言最近看了一些同學的面經,發現無論什么技術崗位,還是會問到和的區別,而搜索出來的答案并不能讓我們裝得一手好逼,那就讓我們從報文的角度來擼一波,從而搞明白他們的區別。所以,和分開發送是部分瀏覽器或框架的請求方法,不屬于必然行為。 1 前言 最近看了一些同學的面經,發現無論什么技術崗位,還是會問到 get 和 post 的區別,而搜索出來的答案并不能讓我們裝得一手好逼,那就讓我們從 HT...
摘要:與區別本文參考簡單介紹和是與服務器交互的方式,說到方式,有。他們的作用分別是對服務器資源的增刪改查。區別分析把請求的數據放在上,即協議頭上,其格式為以分割和傳輸數據,參數之間以相連。請求只能進行編碼,而支持多種編碼方式。 post與get區別 本文參考:https://segmentfault.com/a/1190000009512784 簡單介紹 get和post是HTTP與服務器交...
摘要:與區別本文參考簡單介紹和是與服務器交互的方式,說到方式,有。他們的作用分別是對服務器資源的增刪改查。區別分析把請求的數據放在上,即協議頭上,其格式為以分割和傳輸數據,參數之間以相連。請求只能進行編碼,而支持多種編碼方式。 post與get區別 本文參考:https://segmentfault.com/a/1190000009512784 簡單介紹 get和post是HTTP與服務器交...
摘要:對數據長度的限制是的。安全性與相比,的安全性較差,因為所發送的數據是的一部分。和只是協議中兩種請求方式,而協議是基于的應用層協議,無論還是,用的都是同一個傳輸層協議,所以在傳輸上,沒有區別。 1 前言 眾所周知,在我們開發項目的過程中,關于POST與GET請求是我們不得不掌握的知識,那么它們兩者之間又有什么區別呢?接下來,我們一起從HTTP報文等角度來探討學習一下關于兩者的不同 2 H...
閱讀 1986·2019-08-30 15:54
閱讀 3538·2019-08-30 15:52
閱讀 1827·2019-08-29 17:20
閱讀 2520·2019-08-29 17:08
閱讀 2349·2019-08-26 13:24
閱讀 790·2019-08-26 11:59
閱讀 2785·2019-08-23 14:50
閱讀 617·2019-08-23 14:20