E-тег в заголовке http

Когда я дал запрос HEAD для файла, я получил заголовок ETAG следующим образом:

ETag: "49a81-3f-4c049ee89a31b"

В этой первой части Inode, каковы другие поля

Может ли кто-нибудь сказать мне. заранее спасибо


person Ju chi chan    schedule 18.05.2012    source источник


Ответы (2)


Из википедии я получил эту информацию:

ETag — это непрозрачный идентификатор, назначаемый веб-сервером определенной версии ресурса, найденного по URL-адресу. Если содержимое ресурса по этому URL-адресу когда-либо изменится, назначается новый и другой ETag. Используемые таким образом ETag аналогичны отпечаткам пальцев, и их можно быстро сравнить, чтобы определить, являются ли две версии ресурса одинаковыми или нет.

Сравнение ETag имеет смысл только в отношении одного URL-адреса — ETag для ресурсов, полученных с разных URL-адресов, могут быть, а могут и не совпадать. Таким образом, из их сравнения нельзя вывести никакого смысла.

Насколько мне известно, etag используется для проверки того, что файлы были изменены с момента загрузки.

В вашем Etag части могут представлять: inode-file_size-last_modified_time может использоваться. Я не уверен в этом.

И, кроме того, сообщение Дэвида содержит больше информации. Следите и за этим. Информация действительно хорошая и полезная.

person Myjab    schedule 18.05.2012

ETag, насколько я знаю, это просто любая строка.

Если тот, который есть в вашем браузере, совпадает с тем, что на сервере, вы получите сообщение 304, не измененное, а если нет, вы получите 200 вместе с новой версией.

Различные реализации могут добавлять Inode, даты или что-то еще.

Я лично использую номер версии, чтобы принудительно загружать новые версии js-скриптов при обновлении нашего приложения.

Другие сообщения в ETag:
HTTP: создание заголовка ETag
Синтаксис для ETag?

person David Mårtensson    schedule 18.05.2012