您好,登錄后才能下訂單哦!
本篇內容主要講解“ETag改變時響應體也會改變嗎”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ETag改變時響應體也會改變嗎”吧!
不一定,由服務器中 ETag
的生成算法決定。詳見 你知道 http 響應頭中的 ETag 是如何生成的嗎
比如 nginx
中的 etag
由 last_modified
與 content_length
組成,而 last_modified
又由 mtime
組成
當編輯文件卻未更改文件內容時,mtime
也會改變,此時 etag
改變,但是文件內容沒有更改。
一般會選文件的 mtime
,表示文件內容的修改時間
nginx
也是這樣處理的,源碼見: ngx_http_static_module.c[1]
r->headers_out.status = NGX_HTTP_OK;
r->headers_out.content_length_n = of.size;
r->headers_out.last_modified_time = of.mtime;
那為什么使用 mtime
而非 ctime
在 linux
中,
mtime
:
modified time
指文件內容改變的時間戳ctime
:
change time
指文件屬性改變的時間戳,屬性包括
mtime
。而在 windows 上,它表示的是
creation time
所以 ctime
會比 mtime
要大一些,使用 stat
查看文件屬性如下
$ stat hello.txt
File: ‘hello.txt’
Size: 30 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 917526 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-12-10 16:15:55.253325208 +0800
Modify: 2019-12-10 16:15:52.740653330 +0800
Change: 2019-12-10 16:15:52.742653069 +0800
Birth: -
而 http 服務選擇 Last_Modified
時一般會選擇 mtime
到此,相信大家對“ETag改變時響應體也會改變嗎”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。