客户请求的处理 :
HTTP 请求报头
梁峥嵘
本篇主题
HTTP 请求报头的读取
制作所有请求报头的表格
了解各种请求报头
通过压缩页面减少下载时间
区分不同的浏览器类型
一个典型的 HTTP 请求
GET /servlet/Search?keywords=servlets+jsp HTTP/1.1
Accept: image/gif, image/jpg, */*
Accept-Encoding: gzip
Connection: Keep-Alive
Cookie: userID=id456578
Host: www.somebookstore.com
Referer: http://www.somebookstore.com/findbooks.html
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
理解 HTTP 无疑会有助于更有效地使用 s
ervlet 和 JSP 。
请求报头的读取
(HttpServletRequest 中的方法 )
通用方法
getHeader ( 报头名对大小写不敏感 )
getHeaders
getHeaderNames
专用方法
getCookies
getAuthType and getRemoteUser
getContentLength
getContentType
getDateHeader
getIntHeader
获取相关信息的方法
getMethod, getRequestURI , getQueryString, getProtocol
缺失报头的检查
HTTP 1.0
所有
请求报头都是可选的
HTTP 1.1
仅 Host 是必需的
结论
在试图使用由 request.getHeader 返回的值之前一
定要检查它是否为 null 。
String val = request.getHeader("Some-Name");
if (val != null) {
…
}