多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
<div id="div7"><h3> 7, HTTP报文的请求报文和响应报文;每部分具体有什么 <h3></div> [参考boke](https://blog.csdn.net/u012501054/article/details/80969078) HTTP 请求报文由请求行、请求头部、空行和请求数据 4 个部分组成 - 请求行:由请求方法、URL和HTTP协议版本 这3个字段组成,用空格分隔 * 请求方法: GET—获取资源; POST—传输实体主体;PUT—传输文件;HEAD—获得报文首部; DELETE—删除文件 >HEAD就像GET,只不过服务端接受到HEAD请求后只返回响应头,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。 - 请求头:关键字:值 组成,每行一对,关。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:User-Agent产生请求的浏览器类型,Host,Cookie, connection 连接方式(close 或 keepalive)。。。 > User-Agent:浏览器的具体类型  如:User-Agent:Mozilla/5.0 Gecko/20100101 Firefox/17.0 > > Accept:浏览器支持哪些数据类型  如:Accept: text/html,application/xhtml+xml,application/xml; > > Accept-Charset:浏览器采用的是哪种编码  如:Accept-Charset: ISO-8859-1 > > Accept-Encoding:浏览器支持解码的数据压缩格式  如:Accept-Encoding: gzip, deflate > > Accept-Language:浏览器的语言环境  如:Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 > > Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。Host:[www.baidu.com](www.baidu.com) > > Connection:表示是否需要持久连接。Keep-Alive/close,HTTP1.1默认是持久连接,它可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。如:Connection: Keep-Alive > > Content-Length:表示请求消息正文的长度。对于POST请求来说Content-Length必须出现。 > > Content-Type:服务器告诉浏览器自己响应的对象的类型和字符集。例如:Content-Type: text/html; charset='gb2312' > > Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。例如:Content-Encoding:gzip > > Content-Language:WEB服务器告诉浏览器自己响应的对象的语言。 > > Cookie:最常用的请求头,浏览器每次都会将cookie发送到服务器上,允许服务器在客户端存储少量数据。 > > Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。服务器能知道你是从哪个页面过来的。Referer: [http://www.baidu.com/](http://www.baidu.com/) HTTP 响应报文由响应行、响应头、响应体组成 - 状态行: HTTP 协议版本字段、状态码和状态码的描述文本 组成,空格隔开; - 响应头部: Location, connection (close 或 keepalive),WWW-Authenticate - 响应包体:服务器返回给客户端的文本信息