這期內容當中小編將會給大家帶來有關如何分析HTTP 200 OK和HTTP 304 Not modified的由來,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創新互聯成立于2013年,先為樂清等服務建站,樂清等地企業,進行企業商務咨詢服務。為樂清企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
這兩個字段都和HTTP協議的緩存控制相關。
瀏覽器緩存機制是通過HTTP協議Header里的Cache-Control(或Expires)和Last-Modified(或 Etag)等字段來實現。
這兩個字段的作用:
1. 接收響應時,瀏覽器決定文件是否需要被緩存;
2. 需要加載文件時,瀏覽器決定是否需要發出請求的字段。
看一些例子:
Cache-Control:max-age=115360000,表示緩存有效期為115360000秒。如果115360000秒內需要再次請求這個文件,瀏覽器不會發出向服務器發出請求,而是直接使用本地的緩存的文件。這是HTTP/1.1標準中的字段。
這總情況能在Chrome開發者工具的Network標簽頁里看到from disk cache的提示:
從本地緩存中讀取文件非常快速,上面的例子只花費了6毫秒:
Expires: Thu, 31 Dec 2018 23:55:55 GMT,表示該文件的過期時間是2018年12月31日晚上23點55分55秒,在這個時間之前瀏覽器都不會再次發出請求去獲取該文件。這是HTTP/1.0中的字段。
在Chrome開發者工具的network標簽頁里能看到:
下面兩個字段是發起請求時,服務器決定文件是否需要更新的字段。
Last-Modified: Thu, 26 Jul 2018 05:41:21 GMT,這表示這個文件最后的修改時間是2018年7月26日5點41分21秒。
瀏覽器會在下次請求的時候,把Last-Modified的值作為Request Header的If-Modified-Since字段帶上。如果瀏覽器緩存的文件已經超過了Cache-Control(或者Expires),那么需要加載這個文件時,就會發出請求,請求的Header有一個字段為If-Modified-Since,如下圖所示:
服務器接收到請求后,會把文件的Last-Modified時間和這個時間對比,如果時間沒變,那么瀏覽器將返回304 Not Modified給瀏覽器:
如果時間有變化,那么服務器會返回200 OK,并返回相應的內容給瀏覽器。
下圖第9行的get_header_field方法是服務器從瀏覽器發送過來的HTTP請求提取頭部字段If-Modified-Since的值。
下圖第16行的set_header_field方法是服務器設置Last-Modified頭部字段的值。
下圖就是服務器設置304 Not Modified響應的位置:
上述就是小編為大家分享的如何分析HTTP 200 OK和HTTP 304 Not modified的由來了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。
網站欄目:如何分析HTTP200OK和HTTP304Notmodified的由來
分享路徑:http://m.2m8n56k.cn/article42/jcgeec.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、外貿網站建設、網站策劃、響應式網站、面包屑導航、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯