http常用信息头及其作用(信息头获取方法--代码)
具体步骤查看Eclipse部署JavaWeb项目
获取单个信息头
package com.httpget; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/getHeaderO") public class GetHeaderO extends HttpServlet { private static final long serialVersionUID = 1L; /** * 获取单个请求头信息 */ //private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String ua = request.getHeader("User-Agent"); System.out.println("User-Agent: " + ua); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }
获取所有信息头
package com.httpget; import java.io.IOException; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class GetHeaderA extends HttpServlet { /** * 获取所有请求头信息 */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Enumeration<String> headers = request.getHeaderNames(); while (headers.hasMoreElements()) { String headerName = headers.nextElement(); String headerValue = request.getHeader(headerName); System.out.println(headerName + ": " + headerValue); } } }
下面介绍一些常用的HTTP请求头及其作用:
1. Accept-Language 该请求头用来告诉服务器客户端的语言偏好,比如en(英语)、zh-CN(简体中文)等。服务器可以根据这个请求头来决定传输给客户端哪种语言版本的内容。
2. User-Agent 该请求头用来告诉服务器浏览器的种类、版本、操作系统等信息。服务器可以根据这个请求头来进行浏览器兼容性的设计。(指定客户端的浏览器类型和版本等信息)
3. Accept-Encoding 该请求头用来告诉服务器客户端可以接受哪些内容编码方式,比如gzip、deflate等。服务器可以根据这个请求头来决定传输哪种编码方式的内容。
4. Referer 该请求头用来告诉服务器客户端正在访问的页面的URL。在一些安全设置比较严格的系统中,服务器可以根据这个请求头来进行防盗链等安全策略。(指定请求来源的URL)
5. Accept是HTTP协议中的一个HTTP头部,用于告诉服务器请求方所期望的响应格式(指定客户端可以接受哪些类型的响应资源)。这些格式可以是媒体类型、字符集、语言等信息。
HTTP Accept由若干元素组成,每个元素包含三个信息:媒体类型(MIME类型)、可选的参数和参数值。(更多Accept查看)
例如,下面的HTTP Accept头部表示接受 application/json 和 text/plain 两种媒体类型:
Accept: application/json, text/plain
6. Cookie:指定请求的Cookies信息
7. Authorization:指定HTTP基本认证或摘要认证的信息
8. Host:指定请求的主机名和端口号
9. Connection:指定请求完成后是否关闭TCP连接
10. Content-Type:指定请求消息体的媒体类型和字符集等信息
11. Content-Length
例子:
Accept: application/json, text/plain, */* Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Connection: keep-alive Host: 127.0.0.1:8080 Referer: http://127.0.0.1:8080/mgr/ps/mgr/index.html User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36 X-CSRFToken: ABjPB9CYXuc0dPy8Wu2hJppDVu1sdhWRrfoWPBM7DimSrMtkHVUAoNAXeWqOIh0d