cache_methods GET HEAD
S.A.N
nginx-forum at nginx.us
Wed May 27 11:54:05 UTC 2015
> В новых версиях ничего не менялось в этом отношении.
В Nginx/1.9.1, с включенным кэшированием, на бекенд отправляется запрос HEAD
методом.
Вот простой скрипт РНР.
<?php
header('Cache-Control: max-age=1000');
header("X-Method: $_SERVER[REQUEST_METHOD]");
echo 'BODY';
?>
curl -i -X HEAD http://host.dev/
HTTP/1.1 200 OK
Server: nginx/1.9.1
Date: Wed, 27 May 2015 11:36:15 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.9
Cache-Control: max-age=1000
X-Method: HEAD
X-Cache-Status: MISS
curl -i -X GET http://host.dev/
HTTP/1.1 200 OK
Server: nginx/1.9.1
Date: Wed, 27 May 2015 11:37:14 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.9
Cache-Control: max-age=1000
X-Method: HEAD
X-Cache-Status: HIT
Как видите, бекенд получил первый запрос HEAD методом, ответ сохранился в
кеше, второй запрос GET методом, отдал предыдущий закешированый ответ от
HEAD метода.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259148,259164#msg-259164
Подробная информация о списке рассылки nginx-ru