Java 使用ServletAPI,如何确定请求是HTTP/1.0还是HTTP/1.1?

Java 使用ServletAPI,如何确定请求是HTTP/1.0还是HTTP/1.1?,java,http,servlets,Java,Http,Servlets,我正在修复一个只在客户端使用HTTP/1.0(并且是秘密的,Internet Explorer在防火墙后面代理)时才出现的错误。详情如下: 在任何情况下,正确的解决方案是在请求为HTTP/1.0时关闭功能(GZip内容压缩)。然而,在浏览了ServletAPI文档,甚至Jetty源代码之后,我找不到任何地方可以公开这些信息 那么,有没有办法确定这一点?我使用的是ServletAPI2.5 提前谢谢 request.getProtocol() will return "HTTP/1.0" or "

我正在修复一个只在客户端使用HTTP/1.0(并且是秘密的,Internet Explorer在防火墙后面代理)时才出现的错误。详情如下:

在任何情况下,正确的解决方案是在请求为HTTP/1.0时关闭功能(GZip内容压缩)。然而,在浏览了ServletAPI文档,甚至Jetty源代码之后,我找不到任何地方可以公开这些信息

那么,有没有办法确定这一点?我使用的是ServletAPI2.5

提前谢谢

request.getProtocol() will return "HTTP/1.0" or "HTTP/1.1"
下面是一个示例,在本地tomcat中执行

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class ShowRequestHeaders extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String title = "Servlet Example: Showing Request Headers";
    out.println(ServletUtilities.headWithTitle(title) +
                "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                "<H1 ALIGN=CENTER>" + title + "</H1>\n" +
                "<B>Request Method: </B>" +
                request.getMethod() + "<BR>\n" +
                "<B>Request URI: </B>" +
                request.getRequestURI() + "<BR>\n" +
                "<B>Request Protocol: </B>" +
                request.getProtocol() + "<BR><BR>\n" +
                "<TABLE BORDER=1 ALIGN=CENTER>\n" +
                "<TR BGCOLOR=\"#FFAD00\">\n" +
                "<TH>Header Name<TH>Header Value");
    Enumeration headerNames = request.getHeaderNames();
    while(headerNames.hasMoreElements()) {
      String headerName = (String)headerNames.nextElement();
      out.println("<TR><TD>" + headerName);
      out.println("    <TD>" + request.getHeader(headerName));
    }
    out.println("</TABLE>\n</BODY></HTML>");
  }

  public void doPost(HttpServletRequest request,
                     HttpServletResponse response)
      throws ServletException, IOException {
    doGet(request, response);
  }
}
import java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入java.util.*;
公共类ShowRequestHeaders扩展了HttpServlet{
公共无效数据集(HttpServletRequest请求,
HttpServletResponse(响应)
抛出ServletException、IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
String title=“Servlet示例:显示请求头”;
out.println(ServletUtilities.headWithTitle(title)+
“\n”+
“”+标题+“\n”+
“请求方法:”+
request.getMethod()+“
\n”+ “请求URI:”+ request.getRequestURI()+“
\n”+ “请求协议:”+ request.getProtocol()+“

\n”+ “\n”+ “\n”+ “标题名称标题值”); 枚举headerNames=request.getHeaderNames(); while(headerNames.hasMoreElements()){ 字符串headerName=(字符串)headerName.nextElement(); out.println(“+headerName”); out.println(“+request.getHeader(headerName)); } out.println(“\n”); } public void doPost(HttpServletRequest请求, HttpServletResponse(响应) 抛出ServletException、IOException{ doGet(请求、响应); } }