理解Request Headers 和 Response Headers

2021-04-27 10:26:17 浏览数 (1)

HTTP请求报文解剖

请求头由key/value对组成,每行为一对,key和value之间通过冒号(:)分割。请求头的作用主要用于通知服务端有关于客户端的请求信息

HTTP最常见的请求头如下:

 Accept:浏览器可接受的MIME类型;

Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间;

Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到;

Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小;

Content-Length:表示请求消息正文的长度;

Cookie:这是最重要的请求头信息之一;

Host:初始URL中的主机和端口;

User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用;

Referer:表示这个请求是从哪个URL过来的

Cache-Control:

Content-Type:是实体头域(或称为实体头部,entity header)用于向接收方指示实体(entity body)的介质类型的,或称为资源的MIME类型,现在通常称media type更为合适。表示后面的文档属于什么MIME类型。常见的 Content-Type

MIME:

当我们的浏览器要显示或处理这些资源的时候,我们并不知道其响应的数据是什么类型的,为了区分这些资源类型,就需要用到 MIME 了。HTTP 会为每一个通过 web 传输的对象添加上 MIME 类型的数据格式标签。浏览器在读取到对应的信息后,会调用相应的程序去处理它,任何得到我们想要的结果

HTTP响应报文解剖

HTTP的响应报文也由三部分组成(响应行 响应头 响应体):

响应状态码 和请求报文相比,响应报文多了一个“响应状态码”,它以“清晰明确”的语言告诉客户端本次请求的处理结果。  HTTP的响应状态码由5段组成: 

  • 1xx 消息,一般是告诉客户端,请求已经收到了,正在处理,别急...
  • 2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息.
  • 3xx 重定向到其它地方。它让客户端再发起一个请求以完成整个处理。
  • 4xx 处理发生错误,责任在客户端,如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。
  • 5xx 处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等。

参见:https://blog.csdn.net/kdsde/article/details/83652662

0 人点赞