HTTP 响应头信息

HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。

在本章节中我们将具体来介绍HTTP响应头信息。

应答头

说明

Allow

服务器支持哪些请求方法(如GET、POST等)。

Content-Encoding

文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader("Accept-Encoding"))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面。

Content-Length

表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStream,完成后查看其大小,然后把该值放入Content-Length头,最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容。

Content-Type

表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。

Date

当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。

Expires

应该在什么时候认为文档已经过期,从而不再缓存它?

Last-Modified

文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置。

Location

表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。

Refresh

表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader("Refresh", "5; URL=http://host/path")让浏览器读取指定的页面。
注意这种功能通常是通过设置HTML页面HEAD区的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。

注意Refresh的意义是"N秒之后刷新本页面或访问指定页面",而不是"每隔N秒刷新本页面或访问指定页面"。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是<META HTTP-EQUIV="Refresh" ...>。

注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。

Server

服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。

Set-Cookie

设置和页面关联的Cookie。Servlet不应使用response.setHeader("Set-Cookie", ...),而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。

WWW-Authenticate

客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。例如,response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"")。
注意Servlet一般不进行这方面的处理,而是让Web服务器的专门机制来控制受密码保护页面的访问(例如.htaccess)。

http:(3):http响应头信息相关推荐

  1. php获取跳转前的地址,PHP获取短链接跳转后的真实地址和响应头信息的方法

    PHP获取短链接跳转后的真实地址和响应头信息的方法获取到一个短连接,需要将短连接转换成真实的网址,通过查资料,发现 PHP 提供了一个函数 get_headers() ,可以完成这个任务,先把 头部信 ...

  2. Java 获取 URL 响应头信息

    我们如何获取指定 URL 的响应头信息呢? 代码如下 import java.io.IOException; import java.net.URL; import java.net.URLConne ...

  3. Java 网络实例三(获取URL响应头的日期信息、获取URL响应头信息、解析URL、ServerSocket和Socket通信实例)

    获取 URL响应头的日期信息 以下实例演示了如何使用 HttpURLConnection 的 httpCon.getDate() 方法来获取 URL响应头的日期信息: import java.net. ...

  4. php设置http请求头信息和响应头信息

    php设置http请求头信息和响应头信息 设置请求服务器的头信息可以用fsockopen,curl组件,header函数只能用来设置客户端响应的头信息,不能设置服务器的头信息. 例子; 一.heade ...

  5. js获取服务器响应头信息,请问,js中请求头信息和返回头信息的方法

    $.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location.href, complete: function( xhr,data ...

  6. HTTP响应头信息泄露

    目录 响应包server服务端容器类型泄露 X-Powered-By信息泄露 响应包server服务端容器类型泄露 漏洞描述 由于服务端未进行限制,泄露了服务器信息 Apache-Coyote是tom ...

  7. 查看浏览器响应头信息数据

    获取浏览器响应头部信息 以Microsoft Edge和Google Chrome举例 一.Microsoft Edge浏览器(点击查看) 二.Google Chrome浏览器(点击查看) 以Micr ...

  8. Lighttpd、Nginx 、Apache 隐藏响应头信息的Server信息和版本信息

    web server避免一些不必要的麻烦,可以把apache和php的版本信息不显示 隐藏 Apache 版本信息 /etc/apache2/apache2.conf 或 /etc/httpd/con ...

  9. HTTP响应头信息 Content-Type

    Content-Type用于定义网络文件的类型和网页的编码,决定浏览器采用何种方式对响应体进行处理.HttpServletRequest提供了一个专门的方法setContentType()来设置Con ...

最新文章

  1. 第三十一讲 非线性微分自治方程组及图解
  2. DevExpress的TreeList怎样设置数据源使其显示成单列树形结构
  3. XCTF-MISC-新手区-功夫再高也怕菜刀
  4. 删除一个程序Linux,一天一个Linux基础命令删除文件或目录命令rm
  5. mysql中主从复制包括什么意思_Mysql主从复制作用和工作原理
  6. 钢铁是怎样炼成的?一组动态图让你秒懂真正的钢铁是怎样炼成的!
  7. C语言回调函数 钩子函数,回调函数和钩子函数的说明
  8. phpstorm 2019.1 mac
  9. python 文本处理操作
  10. epoll原理_如果这篇文章说不清epoll的本质,那就过来掐死我吧! (1)
  11. pdfbox创建pdf_使用PDFBox处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)...
  12. 页面优化之懒加载与预加载
  13. 【Python】python基础编程回顾(3)
  14. 垃圾回收的主要区域是堆,那方法区会回收吗?
  15. web 移动端开发基础
  16. 索骥馆-OFFICE系列之《EXCEL数据分析之道:让你的数据更有说服力》扫描版[PDF]
  17. QQ IDKey生成
  18. css基本样式表_基本的即用型CSS样式
  19. docker部署codereview/gerrit
  20. GOF设计模式之单例模式

热门文章

  1. CListCtrl控件
  2. 在VS中进行对项目进行编译出现不能编译的问题
  3. linux 文件理解,对linux中文件系统的理解
  4. python编程软件排行榜_PYPL 9月编程语言排行榜发布 Python一枝独秀
  5. tableau三轴该怎么做_如何用tableau绘制城市地铁线路图?
  6. 跑三小时的monkey测试该怎么算_浅谈App测试(下)~带音频
  7. html 转换为cshtml,使用Html而不是csHtml
  8. 计算机无法更新正在撤销更改,win7系统无法完成更新正在撤销更改的解决办法...
  9. Linux C 算法——排序
  10. mysql Connector C/C++ 多线程封装