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