當前位置:首頁 » 文件管理 » http緩存協議頭

http緩存協議頭

發布時間: 2022-07-04 06:13:03

Ⅰ HTTP協議中可以控制緩存的有哪些

通過響應來控制緩存,在響應頭中主要有cache-control、pragma、expires三個響應頭,其中expires是HTTP1.0中的響應頭,後面直接跟一個緩存失效日期,但是伺服器和客戶端之間的時鍾往往不同,因此通過該響應頭來控制緩存失效時間不準確,一般不用,如果要設置客戶端不緩存,則設置響應頭「expires: -1」即可;pragema是HTTP1.1協議為了兼容HTTP1.0+協議,用來控制不緩存,「pragma: no-cache";cache-control是HTTP1.1中的響應頭,其參數為相對的秒值,即過多少秒緩存失效,因此建議使用該響應頭來控制緩存失效時間,其後可以跟的內容有no-cache、no-store、max-age、must-revalidate
為了兼容各個協議版本,要想客戶端不緩存資源,一般都添加三個響應頭:cache-control: no-cache、pragma: no-cache、expires: -1
注意:cache-control: no-cache控制緩存,客戶端是會緩存資源的,只是在於原始伺服器進行再驗證之前不會想客戶端提供資源,也就是資源新鮮度永遠過期,這樣比直接訪問伺服器節省了資源在網路中的傳輸成本,相比開啟緩存增加了再驗證的成本,性能失效介於兩者之間;要想客戶端緩存不從響應中拷貝資源副本,則應該使用cache-control: no-store,使用該響應頭內容也可以讓緩存立即刪除已經拷貝的副本;而must-revalidate是伺服器希望緩存能嚴格遵守過期信息,一般情況下類似no-cache,但在緩存與原始伺服器進行新鮮度驗證的時候,原始伺服器不可用,這將會導致這一段時間中訪問該資源會504 gateway timeout,因此建議使用no-cache

Ⅱ http協議支持的緩存方式有哪些

客戶端請求headers包含了請求行和一些頭域。

各種頭域:這些頭域都是有關鍵字和鍵值成對組合,最後換行回車(\r\n)結束,這些頭域告訴伺服器應該怎麼去響應以及本身一些信息。
伺服器響應

狀態行:協議版本 響應狀態 狀態描述 ------這三者用空格分開,最後換行回車(\r\n) 例如:HTTP/1.1 200 OK
各種頭域:這些頭域也是有關鍵字和鍵值成對組合,最後換行回車(\r\n)結束,這些頭域告訴客戶端應該怎麼去響應以及本身一些信息。
NO2

Ⅲ 什麼是http協議它的作用是什麼

HTTP協議全稱Hyper Text Transfer Protocol,翻譯過來就是超文本傳輸協議,位於TCP/IP四層模型當中的應用層。

作用:在瀏覽器與伺服器間傳送文檔。

HTTP(Hyper Text Transfer Protocol) 超文本傳輸協議,是基於應用層(TCP/IP參考模型)的通信規范;是從Web伺服器傳輸超文本到客戶端的傳輸協議,無狀態的傳輸協議;不僅能夠保證正確、快速、高效的傳輸超文本文檔,而且可以確定資源載入順序等。

在Web開發中,頁面緩存控制、數據傳遞、文檔語言參數設定等等,都離不開HTTP協議。HTTP協議是整個Web應用的基礎,深入理解HTTP協議,是每個PHP開發工程師必須掌握的知識。

(3)http緩存協議頭擴展閱讀

HTTP 協議的特徵:

1、HTTP 協議簡單,請求一個網頁時,只需發送請求方法(GET/POST/…)和資源路徑(URI)。

2、HTTP 是無狀態協議,本身對事務處理沒有記憶能力,但是有專門的技術為HTTP請求提供會話能力:Cookie/Session。

3、HTTP 採用問答式交互模型,每次連接只處理一個請求。

4、HTTP 是標準的C/S模型。

5、HTTP 允許傳遞數據對象類型豐富,由報頭Content-Type標識。

Ⅳ http 協議頭欄位說上來幾個,緩存欄位是怎麼定義的

collection.find().toArray(function(err,docs){
console.log(docs);
//將數據顯示到網頁上
// console.log('1'+docs[0].name);
// $('#question').append('<div>'+docs+'</div>');
// document.getElementById("editLevels").value =docs;

Ⅳ 伺服器頭文件響應的http協議頭文件的控制信息

HTTP消息包括客戶機向伺服器的請求消息和伺服器向客戶機的響應消息。這兩種類型的消息由一個 起始行,一個或者多個頭域,一個只是頭域結束的空行和可選的消息體組成。HTTP的頭域包括通用頭,請求頭,響應頭和實體頭四個部分。每個頭域由一個域 名,冒號(:)和域值三部分組成。域名是大小寫無關的,域值前可以添加任何數量的空格符,頭域可以被擴展為多行,在每行開始處,使用至少一個空格或製表 符。 Cache-Control指定請求和響應遵循的緩存機 制。在請求消息或響應消息中設置Cache-Control並不會修改另一個消息處理過程中的緩存處理過程。請求時的緩存指令包括no-cache、no -store、max-age、max-stale、min-fresh、only-if-cached,響應消息中的指令包括public、 private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、 max-age。各個消息中的指令含義如下:
Public指示響應可被任何緩存區緩存。
Private指示對於單個用戶的整個或部分響應消息,不能被共享緩存處理。這允許伺服器僅僅描述當用戶的部分響應消息,此響應消息對於其他用戶的請求無效。
no-cache指示請求或響應消息不能緩存
no-store用於防止重要的信息被無意的發布。在請求消息中發送將使得請求和響應消息都不使用緩存。
max-age指示客戶機可以接收生存期不大於指定時間(以秒為單位)的響應。
min-fresh指示客戶機可以接收響應時間小於當前時間加上指定時間的響應。
max-stale指示客戶機可以接收超出超時期間的響應消息。如果指定max-stale消息的值,那麼客戶機可以接收超出超時期指定值之內的響應消息。 請求消息的第一行為下面的格式:
MethodSPRequest -URISPHTTP-VersionCRLFMethod表示對於Request-URI完成的方法,這個欄位是大小寫敏感的,包括OPTIONS、 GET、HEAD、POST、PUT、DELETE、TRACE。方法GET和HEAD應該被所有的通用WEB伺服器支持,其他所有方法的實現是可選的。 GET方法取回由Request-URI標識的信息。HEAD方法也是取回由Request-URI標識的信息,只是可以在響應時,不返回消息體。 POST方法可以請求伺服器接收包含在請求中的實體信息,可以用於提交表單,向新聞組、BBS、郵件群組和資料庫發送消息。
SP 表示空格。Request-URI遵循URI格式,在此欄位為星號(*)時,說明請求並不用於某個特定的資源地址,而是用於伺服器本身。HTTP- Version表示支持的HTTP版本,例如為HTTP/1.1。CRLF表示換行回車符。請求頭域允許客戶端向伺服器傳遞關於請求或者關於客戶機的附加 信息。請求頭域可能包含下列欄位Accept、Accept-Charset、Accept-Encoding、Accept-Language、 Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If- Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、 Range、Referer、User-Agent。對請求頭域的擴展要求通訊雙方都支持,如果存在不支持的請求頭域,一般將會作為實體頭域處理。
典型的請求消息:
Accept:*/*
Pragma:no-cache
Cache-Control:no-cache
User-Agent:Mozilla/4.04[en](Win95;I;Nav)
Range:bytes=554554-
上例第一行表示HTTP客戶端(可能是瀏覽器、下載程序)通過GET方法獲得指定URL下的文件。棕色的部分表示請求頭域的信息,綠色的部分表示通用頭部分。 Range頭域可以請求實體的一個或者多個子范圍。例如,
表示頭500個位元組:bytes=0-499
表示第二個500位元組:bytes=500-999
表示最後500個位元組:bytes=-500
表示500位元組以後的范圍:bytes=500-
第一個和最後一個位元組:bytes=0-0,-1
同時指定幾個范圍:bytes=500-600,601-999
但是伺服器可以忽略此請求頭,如果無條件GET包含Range請求頭,響應會以狀態碼206(PartialContent)返回而不是以200(OK)。 User-Agent頭域的內容包含發出請求的用戶信息。
響應消息
響應消息的第一行為下面的格式:
HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF
HTTP -Version表示支持的HTTP版本,例如為HTTP/1.1。Status-Code是一個三個數字的結果代碼。Reason-Phrase給 Status-Code提供一個簡單的文本描述。Status-Code主要用於機器自動識別,Reason-Phrase主要用於幫助用戶理解。 Status-Code的第一個數字定義響應的類別,後兩個數字沒有分類的作用。第一個數字可能取5個不同的值:
1xx:信息響應類,表示接收到請求並且繼續處理
2xx:處理成功響應類,表示動作被成功接收、理解和接受
3xx:重定向響應類,為了完成指定的動作,必須接受進一步處理
4xx:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行
5xx:服務端錯誤,伺服器不能正確執行一個正確的請求
響 應頭域允許伺服器傳遞不能放在狀態行的附加信息,這些域主要描述伺服器的信息和Request-URI進一步的信息。響應頭域包含Age、 Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW- Authenticate。對響應頭域的擴展要求通訊雙方都支持,如果存在不支持的響應頭域,一般將會作為實體頭域處理。

Ⅵ http協議頭有哪些欄位及長度

4位版本+4位首部長度+8位服務類型+16位總長度+16位標識+3位標志+13位片偏移+8位生存周期+8位協議+16位首部校驗和+32源地址+32位目的地址

Ⅶ HTTP協議:協議頭是什麼東西

當用戶打開一個網頁時,瀏覽器要向網站伺服器發送一個HTTP請求頭,然後網站伺服器根據HTTP請求頭的內容生成當次請求的內容發送給瀏覽器。

當用戶設計一個通信協議時,「消息頭/消息體」的分割方式是很常用的,消息頭告訴對方這個消息是干什麼的,消息體告訴對方怎麼干。HTTP傳輸的消息也是這樣規定的,每一個HTTP包都分為HTTP頭和HTTP體兩部分,後者是可選的,而前者是必須的。

(7)http緩存協議頭擴展閱讀

HTTP協議常用頭部實例

1、Accept:text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, image/apng, */*; q=0.8

作用:向伺服器申明客戶端(瀏覽器)可以接受的媒體類型(MIME)的資源

解釋:瀏覽器可以接受 text/html、application/xhtml+xml、application/xml類型,通配符*/* 表示任意類型的數據。並且瀏覽器按照該順序進行接收。( text/html —> application/xhtml+xml —> application/xml)

2、Accept-encoding: gzip, deflate, br

作用:向伺服器申明客戶端(瀏覽器)接收的編碼方法,通常為壓縮方法

解釋:瀏覽器支持採用經過 gzip,deflate 或 br 壓縮過的資源

Ⅷ 九種瀏覽器端緩存方法知多少

一、http緩存
  http緩存是基於HTTP協議的瀏覽器文件級緩存機制。即針對文件的重復請求情況下,瀏覽器可以根據協議頭判斷從伺服器端請求文件還是從本地讀取文件,chrome控制台下的Frames即展示的是瀏覽器的http文件級緩存。以下是瀏覽器緩存的整個機制流程。主要是針對重復的http請求,在有緩存的情況下判斷過程主要分3步:
判斷expires,如果未過期,直接讀取http緩存文件,不發http請求,否則進入下一步
判斷是否含有etag,有則帶上if-none-match發送請求,未修改返回304,修改返回200,否則進入下一步
判斷是否含有last-modified,有則帶上if-modified-since發送請求,無效返回200,有效返回304,否則直接向伺服器請求
  
如果通過etag和last-modified判斷,即使返回304有至少有一次http請求,只不過返回的是304的返回內容,而不是文件內容。所以合理設計實現expires參數可以減少較多的瀏覽器請求。
二、websql
   websql這種方式只有較新的chrome瀏覽器支持,並以一個獨立規范形式出現,主要有以下特點
Web Sql 資料庫API 實際上不是HTML5規范的組成部分;
在HTML5之前就已經存在了,是單獨的規范;
它是將數據以資料庫的形式存儲在客戶端,根據需求去讀取;
跟Storage的區別是: Storage和Cookie都是以鍵值對的形式存在的;
Web Sql 更方便於檢索,允許sql語句查詢;
讓瀏覽器實現小型資料庫存儲功能;
這個資料庫是集成在瀏覽器裡面的,目前主流瀏覽器基本都已支持;
  websql API主要包含三個核心方法:
openDatabase : 這個方法使用現有資料庫或創建新資料庫創建資料庫對象。
transaction : 這個方法允許我們根據情況控制事務提交或回滾。
executeSql : 這個方法用於執行真實的SQL查詢。
   openDatabase方法可以打開已經存在的資料庫,不存在則創建
var db = openDatabase('mydatabase', '2.0', my db', 2 * 1024);
  openDatabasek中五個參數分別為:資料庫名、版本號、描述、數據

Ⅸ 以下哪些是http請求中瀏覽器緩存機制會用到的協議頭

你想下載哪一種嘛?我感覺手機用UC比較好。我一直用的UC

Ⅹ Http協議中,用於控制緩存的Header有哪些並簡要說明

  • Last-Modified(伺服器響應) 和 If-Modified-Since(瀏覽器請求)

  • ETag(伺服器) 和 If-None-Match(瀏覽器)

  • Expires(伺服器響應傳遞,格林威治格式的一個具體的時間點)

  • Cache-Control(伺服器建議的緩存策略)

    max-age:時間長度。(瀏覽器和共享高速緩存緩存有效的時長)

    s-maxage: 時間長度。共享高速緩存的緩存有效時長(瀏覽器不進行緩存)

    no-cache:瀏覽器不從緩存讀取,必須請求伺服器。

    no-store:不緩存任何請求和響應信息。

    public:對任何緩存媒介都可緩存該響應。

    private:只允許個體客戶端緩存,不允許共享高速緩存。

可以看這篇文章:網頁鏈接

熱點內容
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734
上傳下載賺錢 發布:2024-09-08 06:14:51 瀏覽:258