網(wǎng)上有很多關(guān)于pos機響應碼if,HTTP響應頭之Etag的知識,也有很多人為大家解答關(guān)于pos機響應碼if的問(wèn)題,今天pos機之家(www.xjcwpx.cn)為大家整理了關(guān)于這方面的知識,讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機響應碼if
什么是 ETagETag全稱(chēng)Entity Tag,用來(lái)標識一個(gè)資源。通常情況下,ETag更類(lèi)似于指紋,如果資源發(fā)生變化了就會(huì )生成一個(gè)新的指紋,這樣可以應用于客戶(hù)端的緩存:服務(wù)器產(chǎn)生ETag,并在HTTP響應頭中將其傳送到客戶(hù)端,服務(wù)器用它來(lái)判斷頁(yè)面是否被修改過(guò),如果未修改返回304,無(wú)需傳輸整個(gè)對象。
如上圖所示,第一次請求,服務(wù)器在返回響應時(shí),在Http頭中包含一個(gè)值為"x1323ddx"的ETag(注:HTTP中并沒(méi)有指定如何生成ETag,哈希是比較理想的選擇),狀態(tài)碼為200。
如上圖所示,第二次請求,這個(gè)時(shí)候客戶(hù)端請求同時(shí)發(fā)送一個(gè)If-None-Match頭,這個(gè)頭的內容就是我們第一次請求時(shí)服務(wù)器返回的ETag,服務(wù)器收到請求后如果資源沒(méi)有發(fā)生改變,服務(wù)器的ETag是同一值,服務(wù)器就不返回200,而是返回304的響應,告訴客戶(hù)端緩存有效。(由于不返回數據體,所以在資源不變的情況下后續的請求對流量消耗比較小。)
ETag語(yǔ)法ETag: W/"<etag_value>"ETag: "<etag_value>"W/ 可選'W/'(大小寫(xiě)敏感) 表示使用弱驗證器。 弱驗證器很容易生成,但不利于比較。 強驗證器是比較的理想選擇,但很難有效地生成。 相同資源的兩個(gè)弱Etag值可能語(yǔ)義等同,但不是每個(gè)字節都相同。"<etag_value>"實(shí)體標簽唯一地表示所請求的資源。 它們是位于雙引號之間的ASCII字符串(如“675af34563dc-tr34”)。 沒(méi)有明確指定生成ETag值的方法。 通常,使用內容的散列(哈希值的方式會(huì )帶來(lái)一些服務(wù)器資源的消耗),最后修改時(shí)間戳的哈希值,或簡(jiǎn)單地使用版本號。ETag 的作用
1、一些文件也許會(huì )周期性更改,但是他的內容并不改變(僅僅改變的修改時(shí)間),我們并不希望客戶(hù)端認為這個(gè)文件被修改了,而重新GET;
2、某些文件修改非常頻繁,比如在秒以下的時(shí)間內進(jìn)行修改,(比方說(shuō)1s內修改了N次),If-Modified-Since能檢查到的粒度是s級的,這種修改無(wú)法判斷;
3、某些服務(wù)器不能精確得到文件的最后修改時(shí)間;
4、通過(guò)設置不同的響應頭Cache-Control來(lái)控制瀏覽器和Web代理對緩存的使用策略,通過(guò)設置請求頭If-None-Match和響應頭ETag,來(lái)對緩存的有效性進(jìn)行驗證。
以上就是關(guān)于pos機響應碼if,HTTP響應頭之Etag的知識,后面我們會(huì )繼續為大家整理關(guān)于pos機響應碼if的知識,希望能夠幫助到大家!
