Помощник
|
Браузерное кеширование в Nginx. Как? |
Sa[Y]moN
|
Сообщение
#1
|
||
|
|
||
|
|||
melrok |
24.5.2015, 0:40;
Ответить: melrok
Сообщение
#2
|
|
может тут что есть.
|
|
|
Sa[Y]moN
|
Сообщение
#3
|
|
Pixsel, пробовал первый и второй из списка, однако от них толку ноль. Настраивай - не настраивай, все до фени. :angry:
Перечитал весь Хабр, и толку все-равно нет. Да даже если разберусь с WP, то еще нужны для Битрикса и Джумлы такие плагины. Может коте что подскажет. |
|
|
k0ttee |
24.5.2015, 1:38;
Ответить: k0ttee
Сообщение
#4
|
||
|
может тут что есть Это серверное кэширование, которое "чтобы брать не из базы данных а из готовых файлов". везде этот Nginx Он там чтобы Apache не наплодил процессов и не сожрал всю память. Такое, что апача совсем нет и используется исключительно энжэникс - это у меня на VDS для самописного движка, когда о попсе типа вордпресса уже несколько лет как позабыл. Все эти движки делались под апач, поэтому и комплектуются .htaccess Если у вас нет Apache, то .htaccess не будет выполняться и движки не будут работать (mod_rewrite накроется и этого уже достаточно чтоб не работало). Для запуска банального WP на одном Nginx придется весь .htaccess переписать в другой конфиг. необходимо включить браузерное кеширование А в заголовках разве приходит no-store или no-cache? :o Что-то не верится мне в выключенность кэширования на хостинге, ибо это по-конски увеличит трафик (отправлять каждый раз в браузер все данные). как его можно включить по другому? На уровне движка сделать в заголовке разрешение кэширования. В помощи это и сказано: средствами CMS. Где можете (до отправки документа) слать заголовок с разрешением кэширования. Где не можете (когда сервер просто отдает картинку) тут вам заголовок контролировать наверное не удастся без велосипедов. Давайте смотреть заголовки (http headers) и читать что в них браузеру приходит. Вообще я этим себе голову не забивал раньше, но раз есть повод - могу поучаствовать. :laugh: Добавлено спустя 13 минут 9 секунд: И таки да, не дает он кэшировать по-умолчанию. У меня пишет как раз таки no-store и no-cache. -------------------- btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9 |
||
|
|||
Sa[Y]moN
|
Сообщение
#5
|
|
(k0ttee) А в заголовках разве приходит no-store или no-cache? Cache-Control: no-cache, must-revalidate Вообще HTTP заголовки имеют следующий вид: HTTP/1.1 200 OK Server: nginx Date: Sat, 23 May 2015 21:56:16 GMT Content-Type: text/html Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP/5.3.28 Expires: Sat, 23 May 2015 23:56:16 GMT Cache-Control: no-cache, must-revalidate Vary: Accept-Encoding Accept-Encoding: gzip,deflate,sdch Last-Modified: Sat, 23 May 2015 21:56:16 GMT Set-Cookie: uid_zxcv=1f1fc41f5560f780340669d6031ea802; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/ .htaccess само собой отсутствует. Точней он есть, но пустой, так как Nginx его не видит. Я тоже думал что в связке с Apache, однако любой IfModule, хоть mod_expires, хоть mod_headers, и mod_rewrite просто игнорируются. Редиректы для исключения дублей настроены на серверном уровне. Впихнуть заголовок я могу, только какое содержимое необходимо? Я в настройках сервера дилетант. (k0ttee) Если у вас нет Apache, то .htaccess не будет выполняться и движки не будут работать (mod_rewrite накроется и этого уже достаточно чтоб не работало). Для запуска банального WP на одном Nginx придется весь .htaccess переписать в другой конфиг. Содержимое .htaccess сайта на WP: # BEGIN WordPress # END WordPress # by reg.ru support team <Files wp-login.php> AuthType Basic AuthName "please use your ISPmanager login and password" AuthUserFile "/var/www/u3737493/data/etc/users" Require valid-user </Files> По сути, только защита от несанкционированного доступа к админке. |
|
|
k0ttee |
24.5.2015, 2:13;
Ответить: k0ttee
Сообщение
#6
|
|
|
Очевидно, что разрешить кэшировать изменив строку.
Cache-Control: no-cache, must-revalidate Вот таблица аргументов Есть статья, в которой все описано (из нее утащил таблицу) http://www.exlab.net/dev/http-caching.html Желаю валидных велосипедов! ;) -------------------- btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9 |
|
|
||
Sa[Y]moN
|
Сообщение
#7
|
|
k0ttee, дело в том, что сам заголовок я изменить не могу. Такие заголовки как Server, Cache-Control, X-Powered-By и др. отдаются сервером. Я могу только добавить.
Например, заголовки Accept-Encoding, Last-Modified - это уже моя работа. Некоторые так-же отдаются CMS, но не все. Я вот уже думаю, а надо ли оно мне вообще? Мороки столько, хоть вешайся. |
|
|
Aman_sf |
24.5.2015, 17:48;
Ответить: Aman_sf
Сообщение
#8
|
|
Nginx сейчас самый крутой вебсервер, у меня правда он обычно стоит вторым вместе с апачем, в таком случае в зависимости от панели можно указывать какой тип сервера использовать. Но все таки Nginx намного быстрее и без кеширования. Уже и америкосы его используют,а некоторые американские хостинги создали якобы свои аналоги, назвав их по своему.
Я бы тупо забил на эту хотелку от гугла. |
|
|
Sa[Y]moN
|
Сообщение
#9
|
|
(Aman) Nginx сейчас самый крутой вебсервер, у меня правда он обычно стоит вторым вместе с апачем, в таком случае в зависимости от панели можно указывать какой тип сервера использовать. Но все таки Nginx намного быстрее и без кеширования. Уже и америкосы его используют,а некоторые американские хостинги создали якобы свои аналоги, назвав их по своему. Я бы тупо забил на эту хотелку от гугла. Видимо так и есть. Уже у самого отпало желание что-то делать. |
|
|
k0ttee |
25.5.2015, 17:05;
Ответить: k0ttee
Сообщение
#10
|
|
отпало желание что-то делать Ваш пессимизм меня премии лишит! :blush: Придется сделать. Нагуглил такой примерчик <?php /** * Шлет в заголовках Expires HTTP 1.0. * @param int количество секунд до времени истечения срока жизни */ function setExpires($expires){ header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . 'GMT'); } // Назначаем срок жизни Expires (в секундах) setExpires(60); // Тестовый выхлоп echo 'Самоуничтожение через 60 секунд<br />'; echo 'Сейчас ' . gmdate('H:i:s') . ' GMT<br />'; echo '<a href="' . $_SERVER['PHP_SELF'] . '">Посмотреть вновь </a><br />'; ?> На любом сервере должно работать, не притрагиваясь к конфигам (средствами пхп). Во, я тестил, на локалке ведет себя правильно. [video]http://www.youtube.com/watch?v=wX8W44Hy6CQ&vq=hd1080[/video] Собственно, одной строкой можно отдавать правильную инструкцию. Но это только для веб-документов. Картинки и прочие файлы останутся на совести Nginx... Хотя и с ними велосипед возможен :s009: -------------------- btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9 |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Арбитражники, как ведете учет расходов и доходов? | 11 | Boymaster | 1797 | 17.4.2024, 23:35 автор: Boymaster |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 29 | freeax | 4806 | 17.4.2024, 1:19 автор: sergio11 |
|
Как вы отдыхаете от работы за компом | 148 | adw-kupon.ru | 19705 | 8.4.2024, 10:37 автор: Skyworker |
|
Как вы бросили работу и перешли на заработок с сайтов? | 18 | uahomka | 3095 | 5.4.2024, 5:53 автор: Skyworker |
|
Как бездомные хранят деньги? | 81 | metvekot | 13652 | 31.3.2024, 12:44 автор: Boymaster |
Текстовая версия | Сейчас: 19.4.2024, 7:01 |