文档介绍:客户请求的处理:HTTP请求报头主讲:刘晓涛议程HTTP请求报头的读取制作所有请求报头的表格了解各种请求报头通过压缩页面减少下载时间区分不同的浏览器类型一个典型的HTTP请求GET/servlet/Search?keywords=servlets+jspHTTP/:image/gif,image/jpg,*/*Accept-Encoding:gzipConnection:Keep-AliveCookie:userID=id456578Host:rer:-Agent:Mozilla/;;)理解HTTP无疑会有助于更有效地使用servlet和JSP请求报头的读取(HttpServletRequest中的方法)通用方法getHeader(报头名对大小写不敏感)getHeadersgetHeaderNames专用方法getCookiesgetAuthType和getRemoteUsergetContentLengthgetContentTypegetDateHeadergetIntHeader获取相关信息的方法getMethod,getRequestURI,getQueryString,。Stringval=("Some-Name");if(val!=null){…}lassShowRequestHeadersextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{(docType+"<HTML>\n"+"<HEAD><TITLE>"+title+"</TITLE></HEAD>\n"+"<BODYBGCOLOR=\"#FDF5E6\">\n"+"<H1ALIGN=\"CENTER\">"+title+"</H1>\n"+"<B>RequestMethod:</B>"+()+"<BR>\n"+"<B>RequestURI:</B>"+()+"<BR>\n"+"<B>RequestProtocol:</B>"+()+"<BR><BR>\n"+制作所有请求报头的表格(续)"<TABLEBORDER=1ALIGN=\"CENTER\">\n"+"<TRBGCOLOR=\"#FFAD00\">\n"+"<TH>HeaderName<TH>HeaderValue");EnumerationheaderNames=();while(()){StringheaderName=(String)();("<TR><TD>"+headerName);("<TD>"+(headerName));}("</TABLE>\n</BODY></HTML>");}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doGet(request,response);}}。例如,PNG文件拥有较好的压缩特性但并不被浏览器广泛支持。servlet可以检查浏览器是否支持PNG文件,如果支持则发送<IMGSRC=""..>否则发送<IMGSRC=""...>。警告:在点击Refresh按钮时,IE会错误在设置这个报头。但在最初的请求中,ept-Encoding标示浏览器能够处理的编码(press)(续)Authorization用于发送受密码保护的页面的用户身份验证信息。应该尽可能使用HTML表单来发送用户名/密码,在会话对象中存储信息;而不是这个报头。因为这种