HTTP условный GET не работает

Я немного смущен тем, что должно быть фактическим поведением при наличии запроса GET с подписью ниже.

URL запроса: https://some-web-server/assets/views/header.html
Ответ приходит с кодом состояния 200 с заголовками ответов ниже

Заголовки ответа:

Cache-Control: public, max-age=3600  
Cache-Control: no-cache  
Connection: Keep-Alive  
Content-Encoding: gzip  
Content-Length: 1312  
Content-Type: text/html; charset=utf-8  
Date: Thu, 05 Apr 2018 18:44:56 GMT  
ETag: 2f7b535ad0a129b93a432f997b09785e  
Expires: Thu, 01 Dec 1994 16:00:00 GMT  
Keep-Alive: timeout=5, max=100  
Last-Modified: Sat, 31 Mar 2018 11:07:28 GMT  
Server: Apache/2.4.28 (Unix) OpenSSL/1.0.1j  
Vary: Accept-Encoding  

Я понимаю, что в ответе заголовок Cache-Control установлен на no-cache, поэтому в следующий раз, когда я нажму на тот же запрос, сервер, как ожидается, отправит 304 вместо 200 с полным телом, так как содержимое на сервере не изменилось
Но ответ всегда 200 ОК

Заголовки запроса:

GET /assets/views/header.html HTTP/1.1  
Host: some-web-server  
Connection: keep-alive  
Accept: application/json, text/plain, */*  
X-Requested-With: XMLHttpRequest  
Accept-Encoding: gzip, deflate, br  
Accept-Language: en-US,en;q=0.9  
If-None-Match:    2f7b535ad0a129b93a432f997b09785e  
If-Modified-Since: Sat, 31 Mar 2018 11:07:28 GMT  

Может кто-нибудь, пожалуйста, помогите, если я упускаю что-то очевидное. Или веб-сервер может не иметь поддержки условного GET. Я использую Play Framework 2.x версии с Apache в качестве обратного посредника между ними.

0 ответов

Другие вопросы по тегам