2019-01-16 HTTP消息头

注:本文中绝大部分内容整理自百度百科,如有错误欢迎指正。

HTTP消息头

定义:在HTTP的请求和响应消息中,协议头部分的组件。

HTTP消息头是在客户端请求(Request)或服务器响应(Response)时传递的,位于请求或响应的第一行,HTTP消息体(请求或响应的内容)在其后传输。

一个HTTP请求由请求行(request line)、请求头(header)、空行和请求数据4个部分组成;HTTP响应也由三个部分组成,分别是:状态行、响应头、空行、响应正文。

常用的HTTP请求头

  • Accept:浏览器可接受的MIME类型。
  • Accept-Charset:浏览器可接受的字符集。
  • Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。
  • Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。
  • Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中,为用户名和密码的Base64编码(用户名和密码之间用“:”隔开)。
  • Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。
  • Content-Length:表示请求消息正文的长度。
  • Cookie:这是最重要的请求头信息之一
  • From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。
  • Host:初始URL中的主机和端口。
  • If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答。
  • Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
  • Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
  • User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
  • UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。
  • X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。它不是RFC中定义的标准请求头信息。

常用的HTTP响应头/HTTP实体头

  • setContentType:设置Content-Type头。
  • setContentLength:设置Content-Length头。
  • addCookie:设置一个Cookie。
  • Allow 服务器支持哪些请求方法(如GET、POST等)。
  • Content-Encoding:文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。
  • Content-Length:表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。
  • Content-Type:表示后面的文档属于什么MIME类型。
  • Date:当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。
  • Expires:应该在什么时候认为文档已经过期,从而不再缓存它。
  • Last-Modified:文档的最后改动时间。
  • Location:表示客户应当到哪里去提取文档。
  • Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。
  • Server:服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。
  • Set-Cookie:设置和页面关联的Cookie。
  • WWW-Authenticate:客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,917评论 0 6
  • 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超...
    保川阅读 4,718评论 2 14
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 2,783评论 2 20
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,337评论 0 7
  • 清明假期,听了下之前没有听完的罗胖采访罗永浩的特别节目:《长谈——让他把话说完》。里面有一段对话让我受到触动,也再...
    书玉Esther阅读 842评论 5 0

友情链接更多精彩内容