HTTP协议学习篇(二)—http响应

在接收和解释请求消息后,服务器返回一个HTTP响应消息,一个HTTP响应代表服务器向客户端回送的数据,它包括:一个状态行、若干消息头、以及实体内容 。
举例:

HTTP/1.1 200 OK     -------请求行
Server: Microsoft-IIS/5.0
Date: Thu, 17 Apil 2017 07:46:53 GMT  ----中间5行为多个消息头
Content-Length: 2291
Content-Type: text/html
Cache-control: private
------------------------一个空行
<HTML>
<BODY>                -------实体内容
……

1,状态行:用于描述服务器对请求的处理过程。
格式为:HTTP版本号 状态码 原因叙述eg:HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数,第一个数字定义了响应的类别,响应状态码分为5类,如下所示:
1xx(100~199):指示信息(Informational)–表示请求已接收,继续处理
2xx(200~299 ):成功(Successful)–表示请求已被成功接收、理解、接受
3xx(300~399):重定向(Redirection)–要完成请求必须进行更进一步的操作
4xx(400~499):客户端错误(Client Error)–请求有语法错误或请求无法实现
5xx(500~599):服务器端错误( Server Error )–服务器未能实现合法的请求
常见的状态代码 状态描述 说明
200 OK // 客户端请求成功
302 Redirection //请求重定向 (A 找 B 借钱,B 通知 A 找C 借钱 , A找C 借钱) A 客户端 B、C服务器
304 //服务器端资源没有改动,通知客户端查找本地缓存
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒接提供服务
404 Not Found //客户端访问资源不存在
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

2,消息头:用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。常用的响应头有:
(1)Location: http://www.it315.org/index.jsp 结合302完成重定向操作 Location重定向后地址
(2)Server:包含了服务器用来处理请求的软件信息。apache tomcat 服务器类型
(3)Content-Encoding: gzip 响应编码类型 gzip压缩
(4)Content-Length: 80 响应长度
(5)Content-Language: zh-cn 响应语言
(6)Content-Type: text/html; charset=GB2312 响应字符集
(7)Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 和If-Modified-Since 一起使用,实现服务器缓存策略
(8)Refresh: url=http://www.it315.org (页面自动刷新)
(9)Content-Disposition: attachment; filename=aaa.zip 文件下载

1.重定向:
// 设置状态码 302 
response.setStatus(302);
// 指定 重定向页面地址
response.setHeader("Location", "img.html");
2.自动刷新
// 设置refresh
response.setHeader("refresh", "5;url=index.html");  
// 显示提示信息
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("网页会在5秒后 跳转 index.html");

3, Tomcat默认缓存策略 If-Modified-Since Last-Modified 结合304 实现
4,禁用缓存

Expires: -1  
Cache-Control: no-cache  
Pragma: no-cache 

防止浏览器不兼容,如果网页禁用缓存后,不会在 工具– internet选项 — 设置 –查看文件 产生缓存文件
3,实体内容:代表服务器向客户端回送的数据。

HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值