HTTP响应头信息及设置方法

青苗 青苗 | 160 | 2023-02-06

当一个 Web 服务器响应一个 HTTP 请求时,响应通常包括一个状态行、一些响应报头、一个空行和文档。

头信息、描述

  • 1、Allow

指定服务器支持的请求方法(GET、POST 等)。

  • 2、Cache-Control

指定响应文档在何种情况下可以安全地缓存。可能的值有:public、private 或 no-cache 等。Public 意味着文档是可缓存,Private 意味着文档是单个用户私用文档,且只能存储在私有(非共享)缓存中,no-cache 意味着文档不应被缓存。

  • 3、Connection

指示浏览器是否使用持久 HTTP 连接。值 close 指示浏览器不使用持久 HTTP 连接,值 keep-alive 意味着使用持久连接。

  • 4、Content-Disposition

可以让您请求浏览器要求用户以给定名称的文件把响应保存到磁盘。

  • 5、Content-Encoding

在传输过程中,这个头信息指定页面的编码方式。

  • 6、Content-Language

这个头信息表示文档编写所使用的语言。例如,en、en-us、ru 等。

  • 7、Content-Length

指示响应中的字节数。只有当浏览器使用持久(keep-alive)HTTP 连接时才需要这些信息。

  • 8、Content-Type

提供了响应文档的 MIME(Multipurpose Internet Mail Extension)类型。

  • 9、Expires

指定内容过期的时间,在这之后内容不再被缓存。

  • 10、Last-Modified

指示文档的最后修改时间。然后,客户端可以缓存文件,并在以后的请求中通过 If-Modified-Since 请求头信息提供一个日期。

  • 11、Location

这个头信息应被包含在所有的带有状态码的响应中。在 300s 内,这会通知浏览器文档的地址。浏览器会自动重新连接到这个位置,并获取新的文档。

  • 12、Refresh

指定浏览器应该如何尽快请求更新的页面。您可以指定页面刷新的秒数。

  • 13、Retry-After

这个头信息可以与 503(Service Unavailable 服务不可用)响应配合使用,这会告诉客户端多久就可以重复它的请求。

  • 14、Set-Cookie

这个头信息指定一个与页面关联的 cookie。

设置 HTTP 响应报头的方法

通过 HttpServletResponse 对象调用。

  • 1、String encodeRedirectURL(String url)

为 sendRedirect 方法中使用的指定的 URL 进行编码,或者如果编码不是必需的,则返回 URL 未改变。

  • 2、String encodeURL(String url)

对包含 session 会话 ID 的指定 URL 进行编码,或者如果编码不是必需的,则返回 URL 未改变。

  • 3、boolean containsHeader(String name)

返回一个布尔值,指示是否已经设置已命名的响应报头。

  • 4、boolean isCommitted()

返回一个布尔值,指示响应是否已经提交。

  • 5、void addCookie(Cookie cookie)

把指定的 cookie 添加到响应。

  • 6、void addDateHeader(String name, long date)

添加一个带有给定的名称和日期值的响应报头。

  • 7、void addHeader(String name, String value)

添加一个带有给定的名称和值的响应报头。

  • 8、void addIntHeader(String name, int value)

添加一个带有给定的名称和整数值的响应报头。

  • 9、void flushBuffer()

强制任何在缓冲区中的内容被写入到客户端。

  • 10、void reset()

清除缓冲区中存在的任何数据,包括状态码和头。

  • 11、void resetBuffer()

清除响应中基础缓冲区的内容,不清除状态码和头。

  • 12、void sendError(int sc)

使用指定的状态码发送错误响应到客户端,并清除缓冲区。

  • 13、void sendError(int sc, String msg)

使用指定的状态发送错误响应到客户端。

  • 14、void sendRedirect(String location)

使用指定的重定向位置 URL 发送临时重定向响应到客户端。

  • 15、void setBufferSize(int size)

为响应主体设置首选的缓冲区大小。

  • 16、void setCharacterEncoding(String charset)

设置被发送到客户端的响应的字符编码(MIME 字符集)例如,UTF-8。

  • 17、void setContentLength(int len)

设置在 HTTP Servlet 响应中的内容主体的长度,该方法设置 HTTP Content-Length 头。

  • 18、void setContentType(String type)

如果响应还未被提交,设置被发送到客户端的响应的内容类型。

  • 19、void setDateHeader(String name, long date)

设置一个带有给定的名称和日期值的响应报头。

  • 20、void setHeader(String name, String value)

设置一个带有给定的名称和值的响应报头。

  • 21、void setIntHeader(String name, int value)

设置一个带有给定的名称和整数值的响应报头。

  • 22、void setLocale(Locale loc)

如果响应还未被提交,设置响应的区域。

  • 23、void setStatus(int sc)

为该响应设置状态码。

文章标签: Java
推荐指数:

真诚点赞 诚不我欺~

HTTP响应头信息及设置方法

点赞 收藏 评论

关于作者

青苗
青苗

青苗幼儿园园长

等级 LV5

粉丝 20

获赞 47

经验 1182