mirror of
https://github.com/jetty/jetty.project.git
synced 2025-02-28 19:09:10 +00:00
381521 set Vary:Accept-Encoding header for content that might be compressed
This commit is contained in:
parent
b9a3c98055
commit
e093732d40
@ -234,9 +234,7 @@ public abstract class AbstractCompressedStream extends ServletOutputStream
|
|||||||
if (_response.isCommitted())
|
if (_response.isCommitted())
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
|
|
||||||
setHeader("Content-Encoding", _encoding);
|
setHeader("Content-Encoding", _encoding);
|
||||||
setHeader("Vary","Accept-Encoding");
|
|
||||||
|
|
||||||
if (_response.containsHeader("Content-Encoding"))
|
if (_response.containsHeader("Content-Encoding"))
|
||||||
{
|
{
|
||||||
_out=_compressedOutputStream=createStream();
|
_out=_compressedOutputStream=createStream();
|
||||||
|
@ -421,6 +421,9 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory
|
|||||||
boolean gzip=false;
|
boolean gzip=false;
|
||||||
if (!included.booleanValue() && _gzip && reqRanges==null && !endsWithSlash )
|
if (!included.booleanValue() && _gzip && reqRanges==null && !endsWithSlash )
|
||||||
{
|
{
|
||||||
|
// Tell caches that response may vary by accept-encoding
|
||||||
|
response.setHeader(HttpHeaders.VARY,HttpHeaders.ACCEPT_ENCODING);
|
||||||
|
// Should we vary this response according to accept-encoding?
|
||||||
String accept=request.getHeader(HttpHeaders.ACCEPT_ENCODING);
|
String accept=request.getHeader(HttpHeaders.ACCEPT_ENCODING);
|
||||||
if (accept!=null && accept.indexOf("gzip")>=0)
|
if (accept!=null && accept.indexOf("gzip")>=0)
|
||||||
gzip=true;
|
gzip=true;
|
||||||
@ -497,7 +500,6 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory
|
|||||||
if (gzip)
|
if (gzip)
|
||||||
{
|
{
|
||||||
response.setHeader(HttpHeaders.CONTENT_ENCODING,"gzip");
|
response.setHeader(HttpHeaders.CONTENT_ENCODING,"gzip");
|
||||||
response.setHeader(HttpHeaders.VARY,HttpHeaders.ACCEPT_ENCODING);
|
|
||||||
String mt=_servletContext.getMimeType(pathInContext);
|
String mt=_servletContext.getMimeType(pathInContext);
|
||||||
if (mt!=null)
|
if (mt!=null)
|
||||||
response.setContentType(mt);
|
response.setContentType(mt);
|
||||||
|
@ -201,7 +201,11 @@ public class GzipFilter extends UserAgentFilter
|
|||||||
{
|
{
|
||||||
HttpServletRequest request=(HttpServletRequest)req;
|
HttpServletRequest request=(HttpServletRequest)req;
|
||||||
HttpServletResponse response=(HttpServletResponse)res;
|
HttpServletResponse response=(HttpServletResponse)res;
|
||||||
|
|
||||||
|
// Inform caches that responses may vary according to Accept-Encoding
|
||||||
|
response.setHeader("Vary","Accept-Encoding");
|
||||||
|
|
||||||
|
// Should we vary this response according to Accept-Encoding
|
||||||
String compressionType = selectCompression(request.getHeader("accept-encoding"));
|
String compressionType = selectCompression(request.getHeader("accept-encoding"));
|
||||||
if (compressionType!=null && !response.containsHeader("Content-Encoding") && !HttpMethods.HEAD.equalsIgnoreCase(request.getMethod()))
|
if (compressionType!=null && !response.containsHeader("Content-Encoding") && !HttpMethods.HEAD.equalsIgnoreCase(request.getMethod()))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user