Как Вы делаете завершающий тег, который соответствует Apache?

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

12
задан Stu Thompson 17 September 2008 в 07:52
поделиться

3 ответа

Apache использует стандартный формат inode-filesize-mtime. Единственный протест к этому состоит в том, что mtime должен быть временем эпохи и дополненный нулями, таким образом, это - 16 цифр. Вот то, как сделать это в PHP:

$fs = stat($file);
header("Etag: ".sprintf('"%x-%x-%s"', $fs['ino'], $fs['size'],base_convert(str_pad($fs['mtime'],16,"0"),10,16)));
9
ответ дан 2 December 2019 в 21:25
поделиться

Одна вещь помнить о Завершающих тегах Apache состоит в том, что они не играют хорошо в кластерах, потому что они включают inode информацию, которая может — и вероятно будет — варьироваться между машинами по тому же кластеру.

2
ответ дан 2 December 2019 в 21:25
поделиться

Если Вы динамично генерируете свою страницу, хотя, это, вероятно, не будет иметь смысла. Если Вы находитесь в PHP, можно выбрать inode и размер файла основного сценария, но изменить время не скажет Вам, если Ваши данные изменились. Если Вы не имеете хороший процесс кэширования или просто генерируете статические страницы, завершающие теги не полезны. Если у Вас действительно есть хороший процесс кэширования, inode и размер файла, вероятно, не важны.

Править: Для людей, которые не знают то, что завершающие теги - они, как просто предполагается, являются значением, которое изменяется, когда содержание изменилось для кэширования целей. Браузер получает завершающий тег от веб-сервера, сравнивает его с завершающим тегом для его кэшируемой копии и затем выбирает целую страницу, если завершающий тег изменился.

1
ответ дан 2 December 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: