Opened 14 months ago

Last modified 14 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".

Предлагаю выяснить, почему сервер так себя ведет, и привести его поведение к ожидавшемуся.

Change History (1)

comment:1 by san, 14 months ago

Owner: changed from Denis_N to san
Status: newassigned
Note: See TracTickets for help on using tickets.