http响应
1: 响应信息
HTTP/1.1 200 OK (响应行)
Server: Apache-Coyote/1.1 (响应头,会有多个响应头,以名值对的形式存在)
Content-Length: 19
Date: Thu, 09 Nov 2017 12:45:13 GMT
(这里会有一个空行)
this is HttpServlet (实体内容)
2): 响应行 HTTP/1.1 200 OK (协议版本号 状态码 状态描述信息)
a): HTTP/1.1 (HTTP协议版本号1.1)
b): 200(状态码)
常见的状态码有:
200: 成功的状态码 表OK
304: 所请求的资源没有修改,服务器返回这个状态码,不会返回任何资源,客户端通常会缓存访问过的资源,把它个资源显示
404: 浏览器访问的资源找不到
500: 服务器端出错了
c): OK (状态描述信息)
3): 响应头
Header 解释 示例
Content-Encoding web 服务器支持的返回内容压缩编码类型 Content-Encoding: gzip
Content-Language 响应体的语言 Content-Language: en,zh
Content-Length 响应体的长度 Content-Length: 348
Content-Type 返回内容的类型 Content-Type: text/html; charset=utf-8
Content-Disposition 告诉浏览器以下载的形式打开资源
Content-Disposition: attachment; filename=a.zip
Connection 表示是否需要持久连接close或keep-alive Connection: close
Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型 Cache-Control: no-cache
Expires 响应过期的日期和时间 Expires: Thu, 01 Dec 2010 16:00:00 GMT
Pragma 包括实现特定的指令,它可应用到响应链上的任何接收方 Pragma: no-cache
Last-Modified 请求资源的最后修改时间
Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
Location 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Location: http:
refresh 应用于重定向或一个新的资源被创造(可用于定时刷新)
Refresh: 5; url=http:
Server web服务器软件名称 Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
4: 实体内容
返回的实体内容: this is HttpServlet
5: 服务端怎么设置响应信息
tomcat会把响应信息封装到一个HttpServletResponse对象里边,在调用doGet或者doPost方法时把这个对象传入
我们即可以在这些doXXX方法里来调用设置
6: HttpServletResponse对象
a):响应行相关方法
setStatus() 设置状态码
sendError() 设置状态码并且可以发送一个错误页面
b):响应头相关方法
setHeader() 设置指定头信息
c):发送实体内容
response.getWriter().write("OK") 发送字符实体内容
response.getOutputStream().write() 发送字节实体内容
d):其它...(后边讲)
e):响应信息在浏览器中出现的乱码问题
在代码的最前面可以设置response.setContentType("text/html;charset=utf-8"); 即可以解决
f): 重定向方法(跳转页面)
sendRedirect()