2014-10-06 3 views
0

У меня проблема с развертыванием сервлета на Jetty. Кажется, что Jetty просто падает Cache-ControlPragma) Заголовки произведены в сервлете.Jetty drops Cache-Control

public abstract class Servlet extends HttpServlet { 
    ... 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
    ... 
    resp.setHeader("Cache-Control", "private, no-cache"); 
    resp.setHeader("Pragma", "no-cache"); 
    ... 
    } 
    ... 
} 

Всех заголовки (особы. Cache-Control и Pragma) являются, как ожидается, при развертывании такого сервлета в Tomcat. Но Jetty, похоже, проглотил эти заголовки.

Любые советы?

+0

Какая версия Jetty? –

+0

На данный момент я застрял в 8.0.3. – Lukas

ответ

1

Использование Jetty Distribution 8.0.3.v20111011

С тестом сервлетом

package example; 
import java.io.IOException; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@SuppressWarnings("serial") 
public class CacheServlet extends HttpServlet 
{ 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
    { 
     resp.setHeader("Cache-Control", "private, no-cache"); 
     resp.setHeader("Pragma", "no-cache"); 

     resp.setContentType("text/plain"); 
     resp.getWriter().println("Hello Cache Test"); 
    } 
} 

Он работает здесь, это то, что сеть Chrome осмотра панель показывает.

HTTP/1.1 200 OK 
Date: Mon, 06 Oct 2014 14:45:05 GMT 
Cache-Control: private, no-cache 
Pragma: no-cache 
Content-Type: text/plain;charset=ISO-8859-1 
Content-Length: 17 
Server: Jetty(8.0.3.v20111011) 

И это то, что локон шоу ...

$ curl --dump-header - http://localhost:8080/cachetest/cachetest 
HTTP/1.1 200 OK 
Date: Mon, 06 Oct 2014 14:47:51 GMT 
Cache-Control: private, no-cache 
Pragma: no-cache 
Content-Type: text/plain;charset=ISO-8859-1 
Content-Length: 17 
Server: Jetty(8.0.3.v20111011) 

Hello Cache Test 

Он работает.

Видимо, что-то еще удаляет эти заголовки из вашего ответа. Ищите такие вещи, как фильтр, библиотеку фреймворков, уровень кэша, прозрачный прокси, обычный прокси, балансировщики нагрузки и/или сетевое оборудование в качестве источника для кажущихся удаленными заголовков.

+1

Ахх, ты прав. У нас слишком сложная конфигурация обратного прокси, которая переписывает заголовки. Мне стыдно. – Lukas

Смежные вопросы