net/http: delete inappropriate headers in func Error
Из недавних мелких изменений: начиная с Go 1.23 (и выставленной директиве go 1.23.0
в go.mod
) функции ServeContent
, ServeFile
, and ServeFileFS
в случае ошибки удаляют заголовки Cache-Control
Content-Encoding
, Etag
, и Last-Modified
. Это стоит учитывать, если у вас есть матрешка вокруг интерфейса ResponseWriter
которая, например, сжимает ответ и добавляет заголовок Content-Encoding: gzip
.
Старое поведение можно восстановить с помощью директивы GODEBUG=httpservecontentkeepheaders=1
.
Изначально планировалось сделать тоже самое для функции http.Error
. В последствии от этого отказались, так как это изменение ломало слишком много пользовательского кода.
>>Click here to continue<<