版权声明:. https://blog.csdn.net/WildestDeram/article/details/87635826
响应的结构
响应:由服务器返回给浏览器的显示结果
HTTP响应包含三部分:响应行、响应头、响应体
响应行:报文协议及版本、状态码及状态描述
响应头:数据以外的辅助信息
响应体:描述了浏览器要响应的信息
在响应行中的出现的"200"表示HTTP状态码,浏览器会根据状态码来判断服务器处理请求的状态
状态码 | 错误描述 |
200 | 服务器处理成功 |
404 | 无法找到文件 |
500 | 内部服务器错误(逻辑、代码问题) |
403 | 服务器拒绝访问 |
301、302 | 请求重定向 |
400 | 无效的请求 |
401 | 未经过的授权 |
503 | 服务器负载或正在停机维护,无法处理请求 |
通过一个Servlet来展示响应头的详细参数
package com.imooc.servlet;
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("/UserAgentServlet")
public class UserAgentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UserAgentServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取请求头
String UserAgent = request.getHeader("User-Agent");
//设置文本方式的网页文件,语言是 中文
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println(UserAgent);
//模拟登陆设备不同
String output = "";
if(UserAgent.indexOf("Windows NT")!=-1) {
output="<h1>这是PC端</h1>";
}else if(UserAgent.indexOf("iphone")!=-1) {
output="<h1>这是iphone端</h1>";
}
response.getWriter().print(output);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
HTTP/1.1 200:HTTP协议版本1.1,200表示服务器处理成功
Content-Type:text/html;charset=utf-8:文本形式,字符编码UTF-8支持中文
Content-Length:131:表示该html中有多少个字符
Date:表示数据产生的时间