HTTP 204和304的區別

2021-09-26 20:10:16 字數 564 閱讀 8043

204

若伺服器拒絕對put,post或者delete請求返回任何狀態資訊或表示,那麼通常採用此響應**。伺服器也可以對get請求返回此響應**,這表示「客戶端請求的資源存在,但其表示是空的」注意與304的區別,204常常用在ajax應用裡。伺服器通過這個響應**告訴客戶端:客戶端的輸入已被接受,但客戶端不應該改變任何ui元素

簡單講就是客戶端請求的資源存在,但是是空的,所以頁面的樣式和內容不改變(一般用在ajax)

304

304用於有主體資料,但客戶端已擁有該資料,沒必要重**送的情況。這個響應**可用於條件http請求(conditional http request).如果客戶端在傳送get請求時附上了乙個值為sunday的if-modified-since報頭,而客戶端所請求的表示在伺服器端自星期日(sunday)以來一直沒有改變過,那麼伺服器可以返回乙個304響應。伺服器也可以返回乙個200響應,但由於客戶端已擁有該表示,因此重**送該表示只會白白浪費寬頻。

簡單講就是客戶端請求的資源已經存在了,且資料不為空,沒必要重複請求

參考文章:

http狀態嗎200和304的區別

狀態碼200 請求已成功,請求所希望的響應頭或資料體將隨此響應返回,即返回的資料為全量的資料,如果檔案不通過gzip壓縮的話,檔案是多大,則要有多大傳輸量,出現此狀態碼是表示正常狀態。狀態碼304 如果客戶端傳送了乙個帶條件的 get 請求且該請求已被允許,而文件的內容 自上次訪問以來或者根據請求的...

http 304響應的理解

我們經常會看到請求位址中狀態存在304 200 如果客戶端 瀏覽器 傳送的是乙個 條件驗證請求 則web伺服器可能會返回304響應,這就表明了客戶端中所請求資源的快取仍然是有效的,也就是說該資源從上次快取到現在沒有被修改過,瀏覽器會自動識別並讀取快取中的檔案來顯示 在進行條件請求時,一般請求頭會帶上...

對 HTTP 304 的理解

最近和同事一起看web的cache問題,又進一步理解了 http 中的 304 又有了一些了解。304 的標準解釋是 not modified 客戶端有緩衝的文件並發出了乙個條件性的請求 一般是提供if modified since頭表示客戶只想比指定日期更新的文件 伺服器告訴客戶,原來緩衝的文件還...