Opened 21 months ago
Last modified 21 months ago
#1090 assigned дефект
Сервер возвращает контент при наличии его у браузера
Reported by: | alx | Owned by: | san |
---|---|---|---|
Priority: | major | Component: | БД изделий АДС |
Keywords: | Cc: |
Description
Я заметил, что при каждой загрузке страницы сервер отдает клиенту вспомогательные файлы (стили, скрипты) несмотря на то, что эти файлы и так уже есть в кэше браузера. Например на запрос https://r2.adc-line.ru/base/css/main.css?random=@Environment.TickCount с такими заголовками:
GET /base/css/main.css?random=@Environment.TickCount HTTP/1.1 Host: r2.adc-line.ru User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/111.0 Accept: text/css,*/*;q=0.1 Accept-Language: ru,en;q=0.5 Accept-Encoding: gzip, deflate, br Connection: keep-alive Referer: https://r2.adc-line.ru/base/repair.php Cookie: _ym_uid=16607347291058073545; _ym_d=1660734729; PHPSESSID=e0afa64od5g3tkjog53j01qrje Sec-Fetch-Dest: style Sec-Fetch-Mode: no-cors Sec-Fetch-Site: same-origin If-Modified-Since: Tue, 14 Mar 2023 04:19:53 GMT If-None-Match: "70fc-5f6d48a0a8c40-gzip"
сервер отвечает "200 OK":
HTTP/1.1 200 OK Date: Thu, 16 Mar 2023 07:38:40 GMT Server: Apache/2.4.41 (Ubuntu) Last-Modified: Tue, 14 Mar 2023 04:19:53 GMT ETag: "70fc-5f6d48a0a8c40-gzip" Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Cache-Control: no-cache Content-Length: 6844 Keep-Alive: timeout=50, max=242 Connection: Keep-Alive Content-Type: text/css; charset=utf-8
Как видно, в запросе присутствует If-None-Match: "70fc-5f6d48a0a8c40-gzip"
, и в ответе присутствует ETag: "70fc-5f6d48a0a8c40-gzip"
. Я ожидал, что если файл не изменился, сервер должен ответить "304 Not Modified", а не "200 OK".
Предлагаю выяснить, почему сервер так себя ведет, и привести его поведение к ожидавшемуся.