黑马程序员技术交流社区

标题: 响应头笔记 [打印本页]

作者: 不问沧笙    时间: 2019-9-19 13:54
标题: 响应头笔记
Http
组成结构:
响应行
组成:协议、版本   响应状态码  状态码描述
响应状态码(3位数)
1xx:服务器询问浏览器传输完了没有(一般等了很久才会反馈);
2xx:成功,如200;
3xx:302重定向(两次请求);304访问缓存(浏览器缓存的,指不需要服务器给资源,本地已从服务器已加载过了,直接访问服务器效率更高)
4xx:浏览器错误;404找不到路径;
500:服务器异常;

响应头
常用响应行:
content-type:内容类型,常与MIME联用
content-disposition:内容处置方式:常用方式有二:
默认:in-line;
以附件形式下载:格式为: response.setHead("content-disposition","attachment;filename="+filename);

响应体:传输的数据
二、respones对象;
设置响应行、响应头、响应体
设置响应头:
response.setHead(String name,String value);
设置响应体:
获取输出流
字节输出流:response.getOutputStream
字符输出流:response.getWriter()
getBytes是什么?将字符串转为字节数组
使用输出流,写入到浏览器?怎么写入到浏览器的?需要重温IO流
设置重定向中重定向(302):
response.sendRedirect("/day15/demo02")
重定向需要加虚拟目录,因为它的访问是浏览器到服务器
重定向的特点:(面试题)
地址栏发生变化
可以访问服务器以外的站点
重定向是两次请求。故,不能使用request共享数据
转发的特点:
地址栏不变
只在服务器内部跳转,因此不能访问服务器以外的站点
转发是一次请求,因此可以使用request共享数据
forward和redirect的区别
服务器输出字符数据到浏览器
容易出现中文乱码,因为输出流是获取到的不是自己创建的(tomcat给的),默认是ISO-xxxx,
response.setContentType("text'html;charset=utf-8")等同于做了两件事
设置获取的字节输出流编码为utf-8,并且通知浏览器要是用utf-8。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2