目录
HTTP协议
请求消息:客户端发送给服务器端的数据
数据格式:
1.请求行
2.请求头
3.请求空行
4.请求体
响应消息:服务器端发送给客户端的数据
数据格式:
1.响应行2.响应头
3.响应空行
4.响应体
Response响应消息
响应行
组成:协议/版本 响应状态码 状态码描述 例如HTTP/1.1 200 OK
响应状态码:服务器告诉客户端浏览器请求和响应的一个状态
状态码:
特点:状态码都是三位数字组成
分类:
1xx :服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1xx状态码
2xx :成功。代表性状态码:200
3xx :重定向。
代表:302(重定向),资源跳转的一种方式
代表:304 访问缓存
4xx :客户端错误
代表1: 404(请求路径没有对应的资源)
代表2:405(请求方式没有对应doXxx方法)
5xx :服务器端错误
代表1: 500(服务器内部出现异常)
响应头
格式:头名称:值
常见的响应头
1.Content-Type :服务器告诉客户端本次响应体数据格式以及编码格式
例如,Content-Type: text/html;charset=UTF-8,作用:告诉浏览器当前页面是html格式的,以及当前页面的编码格式,这会改变浏览器解码格式
2.Content-dispostion :服务器告诉客户端以什么格式打开响应体数据
值:
1.in - line :默认值,在当前页面内打开
2.attachment:filename = xxx : 以附件形式打开响应体。例如文件下载
响应体
真实的传输的数据
Response对象
功能:设置响应消息
设置响应行:
HTTP/1.1 200 OK
1.设置状态码:setStatus(int sc)
设置响应头:
setHeader(String name,String value)
设置响应体:
使用步骤:
获取输出流
字符输出流:PrintWriter getWriter()
字节输出流:ServletOutputStream getOutputStream()
2.使用输出流,将数据输出到客户端浏览器
案例练习
实现重定向
步骤:1.浏览器访问A资源时,告诉浏览器重定向:状态码302
2.告诉浏览器B资源的路径:响应头location:B资源