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 в качестве обратного посредника между ними.