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