Webc 判断服务器硬盘大小是根据什么判断并设置Content-Type响应头的

您当前位置: >
HTTP 头部信息和错误码汇总详细解释,必收藏!
HTTP 头部信息和错误码汇总详细解释,必收藏!
来源:程序员人生&& 发布时间: 13:27:44 阅读次数:554次
最近在调试 前后端分离的要求测试,遇到了1个406毛病, 没法接受,因而开始了人肉搜索406最后 还是HTTP头部信息里的Accept:application/json &这个Accept 致使的, 后端设置了只允许application/json 这类情势,so前端摹拟要求的时候,你也要和后端沟通好,然后发送要求参数,就能够了!正好,也忘得差不多了,下面我们就来总结和回顾1下HTTP 的1些参数 和毛病码等等前端不懂HTTP协议就等于废了1条腿, 跑不快,飞不高! GO!!!本文为多篇“HTTP要求头相干文章”及《HTTP权威指南》1书的浏览后个人汇总整理版,以便于理解。  通常HTTP消息包括客户机向的要求消息和向客户机的响应消息。客户端向发送1个要求,要求头包括要求的方法、URI、协议版本、和包括要求修饰符、客户信息和内容的类似于MIME的消息结构。以1个状态行作为响应,相应的内容包括消息协议的版本,成功或毛病编码加上包括信息、实体元信息和可能的实体内容。  Http协议定义了很多与交互的方法,最基本的有4种,分别是GET、POST、PUT、DELETE。1个URL地址用于描写1个网络上的资源,而HTTP中的GET、POST、PUT、 DELETE就对应着对这个资源的查、改、增、删4个操作,我们最多见的就是GET和POST了。GET1般用于获得/查询资源信息,而POST1般用于更新资源信息。 HTTP头信息解读  HTTP的头域包括通用头、要求头、响应头和实体头4个部份。每一个头域由1个域名,冒号(:)和域值3部份组成。  通用头部是客户端和都可使用的头部,可以在客户端、和其他利用程序之间提供1些非常有用的通用功能,如Date头部。  要求头部是要求报文独有的,它们为提供了1些额外信息,比如客户端希望接收甚么类型的数据,如Accept头部。  响应头部便于客户端提供信息,比如,客服端在与哪一种类型的进行交互,如Server头部。  实体头部指的是用于应对实体主体部份的头部,比如,可以用实体头部来讲明实体主体部份的数据类型,如Content-Type头部。 HTTP通用头  通用头域包括要求和响应消息都支持的头域,通用头域包括缓存头部Cache-Control、Pragma及信息性头部Connection、Date、Transfer-Encoding、Update、Via。  1、Cache-Control  Cache-Control指定要求和响应遵守的缓存机制。在要求消息或响应消息中设置 Cache-Control其实不会修改另外一个消息处理进程中的缓存处理进程。要求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义以下:  no-cache:唆使要求或响应消息不能缓存,实际上是可以存储在本地缓存区中的,只是在与原始进行新鲜度验证之前,缓存不能将其提供给客户端使用。   no-store:缓存应当尽快从存储器中删除文档的所有痕迹,由于其中可能会包括敏感信息。  max-age:缓存没法返回缓存时间擅长max-age规定秒的文档,若不超规定秒阅读器将不会发送对应的要求到,数据由缓存直接返回;超过这1时间段才进1步由决定是返回新数据还是仍由缓存提供。若同时还发送了max-stale指令,则使用期可能会超过其过期时间。  min-fresh:最少在未来规定秒内文档要保持新鲜,接受其新鲜生命期大于其当前 Age 跟 min-fresh 值之和的缓存对象。  max-stale:唆使客户端可以接收过期响应消息,如果指定max-stale消息的值,那末客户端可以接收过期但在指定值以内的响应消息。  only-if-cached:只有当缓存中有副本存在时,客户端才会取得1份副本。  Public:唆使响应可被任何缓存区缓存,可以用缓存内容回应任何用户。  Private:唆使对单个用户的全部或部份响应消息,不能被同享缓存处理,只能用缓存内容回应先前要求该内容的那个用户。  2、Pragma  Pragma头域用来包括实现特定的指令,最经常使用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache- Control:no-cache相同。  3、Connection  Connection表示是不是需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或看到要求使用的是HTTP 1.1(HTTP 1.1默许进行持久连接),它就能够利用持久连接的优点,当页面包括多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这1点,Servlet需要在应对中发送1个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。  Close:告知WEB或代理,在完本钱次要求的响应后,断开连接,不要等待本次连接的后续要求了。  Keepalive:告知WEB或代理,在完本钱次要求的响应后,保持连接,等待本次连接的后续要求。  Keep-Alive:如果阅读器要求保持连接,则该头部表明希望 WEB 保持连接多长时间(秒),如Keep-Alive:300。  4、Date  Date头域表示消息发送的时间,响应中要包括这个头部,由于缓存在评估响应的新鲜度时要用到,其时间的描写格式由RFC822定义。例如,Date:Mon, 31 Dec :57 GMT。Date描写的时间表示世界标准时,换算本钱地时间,需要知道用户所在的时区。  5、Transfer-Encoding  WEB 表明自己对本响应消息体(不是消息体里面的对象)作了怎样的编码,比如是不是分块(chunked),例如:Transfer-Encoding: chunked  6、Upgrade  它可以指定另外一种可能完全不同的协议,如HTTP/1.1客户端可以向发送1条HTTP/1.0要求,其中包括值为“HTTP/1.1”的Update头部,这样客户端就能够测试1下是不是也使用HTTP/1.1了。  7、Via  列出从客户端到 OCS 或相反方向的响应经过了哪些代理,他们用甚么协议(和版本)发送的要求。  当客户端要求到达第1个代理时,该会在自己发出的要求里面添加 Via 头部,并填上自己的相干信息,当下1个代理 收到第1个代理的要求时,会在自己发出的要求里面复制前1个代理的要求的Via头部,并把自己的相干信息加到后面,以此类推,当 OCS 收到最后1个代理的要求时,检查 Via 头部,就知道该要求所经过的路由。例如:Via:1.0 236⑻1..cn:80 (squid/2.6.STABLE13) HTTP要求头  要求头用于说明是谁或甚么在发送要求、要求源于何处,或客户真个喜好及能力。可以根据要求头部给出的客户端信息,试着为客户端提供更好的响应。要求头域可能包括以下字段Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。对要求头域的扩大要求通讯双方都支持,如果存在不支持的要求头域,1般将会作为实体头域处理。  8、Accept  告知WEB自己接受甚么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。  9、Accept-Charset  阅读器告知自己能接收的字符集。  10、Accept-Encoding  阅读器申明自己接收的编码方法,通常指定紧缩方法,是不是支持紧缩,支持甚么紧缩方法(gzip,deflate)。  11、Accept-Language  阅读器申明自己接收的语言。语言跟字符集的区分:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。  12、Authorization  当客户端接收到来自WEB的 WWW-Authenticate 响应时,用该头部来回应自己的身份验证信息给WEB。  13、If-Match  如果对象的 ETag 没有改变,其实也就意味著对象没有改变,才履行要求的动作,获得文档。  14、If-None-Match  如果对象的 ETag 改变了,其实也就意味著对象也改变了,才履行要求的动作,获得文档。  15、If-Modified-Since  如果要求的对象在该头部指定的时间以后修改了,才履行要求的动作(比如返回对象),否则返回代码304,告知阅读器该对象没有修改。例如:If-Modified-Since:Thu, 10 Apr :42 GMT  16、If-Unmodified-Since  如果要求的对象在该头部指定的时间以后没修改过,才履行要求的动作(比如返回对象)。  17、If-Range  阅读器告知 WEB ,如果我要求的对象没有改变,就把我缺少的部份给我,如果对象改变了,就把全部对象给我。阅读器通过发送要求对象的ETag 或自己所知道的最后修改时间给 WEB ,让其判断对象是不是改变了。总是跟 Range 头部1起使用。  18、Range  阅读器(比如 Flashget 多线程下载时)告知 WEB 自己想取对象的哪部份。例如:Range: bytes=1173546  19、Proxy-Authenticate  代理响应阅读器,要求其提供代理身份验证信息。  20、Proxy-Authorization  阅读器响应代理的身份验证要求,提供自己的身份信息。  21、Host  客户端指定自己想访问的WEB的域名/IP 地址和端口号。如Host:.cn  22、Referer  阅读器向WEB 表明自己是从哪一个网页URL取得点击当前要求中的网址/URL,例如:Referer:/  23、User-Agent  阅读器表明自己的身份(是哪一种阅读器)。例如:User-Agent:Mozilla/5.0 (W U; Windows NT 5.1; zh-CN;rv:1.8.1.14) Gecko/ Firefox/2.0.0.14 HTTP响应头  响应头向客户端提供1些额外信息,比如谁在发送响应、响应者的功能,乃至与响应相干的1些特殊指令。这些头部有助于客户端处理响应,并在将来发起更好的要求。响应头域包括Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩大要求通讯双方都支持,如果存在不支持的响应头域,1般将会作为实体头域处理。  24、Age  当代理用自己缓存的实体去响应要求时,用该头部表明该实体从产生到现在经过量长时间了。  25、Server  WEB 表明自己是甚么软件及版本等信息。例如:Server:Apache/2.0.61 (Unix)  26、Accept-Ranges  WEB表明自己是不是接受获得其某个实体的1部份(比如文件的1部份)的要求。bytes:表示接受,none:表示不接受。  27、Vary  WEB用该头部的内容告知 Cache ,在甚么条件下才能用本响应所返回的对象响应后续的要求。假设源WEB在接到第1个要求消息时,其响应消息的头部为:Content-Encoding: Vary: Content-Encoding,那末Cache会分析后续要求消息的头部,检查其Accept-Encoding,是不是跟先前响应的Vary头部值1致,即是不是使用相同的内容编码方法,这样就能够避免Cache用自己Cache 里面紧缩后的实体响应给不具有解压能力的阅读器。例如:Vary:Accept-Encoding。 HTTP实体头  实体头部提供了有关实体及其内容的大量信息,从有关对象类型的信息,到能够对资源使用的各种有效的要求方法。总之,实体头部可以告知接收者它在对甚么进行处理。要求消息和响应消息都可以包括实体信息,实体信息1般由实体头域和实体组成。实体头域包括关于实体的原信息,实体头包括信息性头部Allow、Location,内容头部Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type,缓存头部Etag、Expires、Last-Modified、extension-header。  28、Allow  支持哪些要求方法(如GET、POST等)。  29、Location  表示客户应当到哪里去提取文档,用于将接收端定位到资源的位置(URL)上。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。  30、Content-Base  解析主体中的相对URL时使用的基础URL。  31、Content-Encoding  WEB表明自己使用了甚么紧缩方法(gzip,deflate)紧缩响应中的对象。例如:Content-Encoding:gzip  32、Content-Language  WEB 告知阅读器理解主体时最适合使用的自然语言。  33、Content-Length  WEB告知阅读器自己响应的对象的长度或尺寸,例如:Content-Length: 26012  34、Content-Location  资源实际所处的位置。  35、Content-MD5  主体的MD5校验和。  36、Content-Range  实体头用于指定全部实体中的1部份的插入位置,他也唆使了全部实体的长度。在向客户返回1个部份响应,它必须描写响应覆盖的范围和全部实体长度。1般格式: Content-Range:bytes-unitSPfirst-byte-pos-last-byte-pos/entity-legth。例如,传送头500个字节次字段的情势:Content-Range:bytes0- 499/1234如果1个http消息包括此节(例如,对范围要求的响应或对1系列范围的堆叠要求),Content-Range表示传送的范围,Content-Length表示实际传送的字节数。  37、Content-Type  WEB 告知阅读器自己响应的对象的类型。例如:Content-Type:application/xml  38、Etag  就是1个对象(比如URL)的标志值,就1个对象而言,比如1个html文件,如果被修改了,其Etag也会别修改,所以,ETag的作用跟Last-Modified的作用差不多,主要供WEB判断1个对象是不是改变了。比如前1次要求某个html文件时,取得了其 ETag,当这次又要求这个文件时,阅读器就会把先前取得ETag值发送给WEB,然后WEB会把这个ETag跟该文件确当前ETag进行对照,然后就知道这个文件有无改变了。  39、Expires  WEB表明该实体将在甚么时候过期,对过期了的对象,只有在跟WEB验证了其有效性后,才能用来响应客户要求。是 HTTP/1.0 的头部。例如:Expires:Sat, 23 May :12 GMT  40、Last-Modified  WEB认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间等等。例如:Last-Modified:Tue, 06 May :43 GMT------------------------------------------------------------------------------------------------------------------------------------------------------------------------HTTP Request的Header信息&1、HTTP要求方式以下表:GET向Web要求1个文件POST向Web发送数据让Web进行处理PUT向Web发送数据并存储在Web内部HEAD检查1个对象是不是存在DELETE从Web上删除1个文件CONNECT对通道提供支持TRACE跟踪到的路径OPTIONS查询Web的性能&说明:主要使用到“GET”和“POST”。实例:POST /test/tupian/cm HTTP/1.1分成3部份:(1)POST:HTTP要求方式(2)/test/tupian/cm:要求Web的目录地址(或指令)(3)HTTP/1.1: URI(Uniform Resource Identifier,统1资源标识符)及其版本备注:在Ajax中,对应method属性设置。&2、Host说明:要求的web域名地址&3、User-Agent说明:HTTP客户端运行的阅读器类型的详细信息。通过该头部信息,web可以判断到当前HTTP要求的客户端阅读器种别。实例:User-Agent: Mozilla/5.0 (W U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/ Firefox/2.0.0.11&4、Accept说明:指定客户端能够接收的内容类型,内容类型中的前后次序表示客户端接收的前后次序。例如:Accept:text/xml,application/xml,application/xhtml+xml,text/q=0.9,text/q=0.8,image/png,*/*;q=0.5备注:在Prototyp(1.5)的Ajax代码封装中,将Accept默许设置为“text/javascript, text/html, application/xml, text/xml, */*”。这是由于Ajax默许获得返回的Json数据模式。在Ajax代码中,可使用XMLHttpRequest 对象中setRequestHeader函数方法来动态设置这些Header信息。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
------分隔线----------------------------
------分隔线----------------------------
积分:4237posts - 25,&
comments - 0,&
trackbacks - 0
& & & HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。
1、HTTP请求方式
向Web服务器请求一个文件
向Web服务器发送数据让Web服务器进行处理
向Web服务器发送数据并存储在Web服务器内部
检查一个对象是否存在
从Web服务器上删除一个文件
对通道提供支持
跟踪到服务器的路径
查询Web服务器的性能
注意:常用的是GET和POST
请求的web服务器域名地址
3、User-Agent
HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断出http请求的客户端的浏览器的类型。
指定客户端能够接收的内容类型,内容类型的先后次序表示客户都接收的先后次序
5、Accept-Lanuage
指定HTTP客户端浏览器用来展示返回信息优先选择的语言
6、Accept-Encoding
指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。
7、Accept-Charset
HTTP客户端浏览器可以接受的字符编码集
8、Content-Type
显示此HTTP请求提交的内容类型。一般只有post提交时才需要设置该属性
有关Content-Type属性值有如下两种编码类型:
(1)&application/x-www-form-urlencoded&: 表单数据向服务器提交时所采用的编码类型,默认的缺省值就是&application/x-www-form-urlencoded&。 然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。
(2)&multipart/form-data&: 在文件上载时,所使用的编码类型应当是&multipart/form-data&,它既可以发送文本数据,也支持二进制数据上载。
当提交为表单数据时,可以使用&application/x-www-form-urlencoded&;当提交的是文件时,就需要使用&multipart/form-data&编码类型。
9、Keep-Alive
表示是否需要持久连接。如果web服务器端看到这里的值为&Keep-Alive&,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点
10、Response部分
Header解释示例
Accept-Ranges
表明服务器是否支持指定范围请求及哪种类型的分段请求
Accept-Ranges: bytes
从原始服务器到代理缓存形成的估算时间(以秒计,非负)
对某网络资源的有效的请求行为,不允许则返回405
Allow: GET, HEAD
Cache-Control
告诉所有的缓存机制是否可以缓存及哪种类型
Cache-Control: no-cache
Content-Encoding
web服务器支持的返回内容压缩编码类型。
Content-Encoding: gzip
Content-Language
响应体的语言
Content-Language: en,zh
Content-Length
响应体的长度
Content-Length: 348
Content-Location
请求资源可替代的备用的另一地址
Content-Location: /index.htm
Content-MD5
返回资源的MD5校验值
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range
在整个返回体中本部分的字节位置
Content-Range: bytes /47022
Content-Type
返回内容的MIME类型
Content-Type: text/ charset=utf-8
原始服务器消息发出的时间
Date: Tue, 15 Nov :31 GMT
请求变量的实体标签的当前值
ETag: &c284d8af7add&
响应过期的日期和时间
Expires: Thu, 01 Dec :00 GMT
Last-Modified
请求资源的最后修改时间
Last-Modified: Tue, 15 Nov :26 GMT
用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Location: /archives/94.html
包括实现特定的指令,它可应用到响应链上的任何接收方
Pragma: no-cache
Proxy-Authenticate
它指出认证方案和可应用到代理的该URL上的参数
Proxy-Authenticate: Basic
应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
Refresh: 5; url=
/archives/94.html
Retry-After
如果实体暂时不可取,通知客户端在指定时间之后再次尝试
Retry-After: 120
web服务器软件名称
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Set-Cookie
设置Http Cookie
Set-Cookie: UserID=JohnD Max-Age=3600; Version=1
指出头域在分块传输编码的尾部存在
Trailer: Max-Forwards
Transfer-Encoding
文件传输编码
Transfer-Encoding:chunked
告诉下游代理是使用缓存响应还是从原始服务器请求
告知代理客户端响应是通过哪里发送的
Via: 1.0 fred, 1. (Apache/1.1)
警告实体可能存在的问题
Warning: 199 Miscellaneous warning
WWW-Authenticate
表明客户端请求实体应该使用的授权方案
WWW-Authenticate: Basic
阅读(...) 评论()Http请求中Content-Type讲解以及在Spring MVC中的应用 - CSDN博客
Http请求中Content-Type讲解以及在Spring MVC中的应用
引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息。
1.& Content-Type
& MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。
类型格式:type/subtype(;parameter)? type
主类型,任意的字符串,如text,如果是*号代表所有;
subtype 子类型,任意的字符串,如html,如果是*号代表所有;
parameter 可选,一些参数,如Accept请求头的q参数, Content-Type的 charset参数。 &例如: Content-Type: text/charset:utf-8;
&常见的媒体格式类型如下:
&&& text/html : HTML格式&&& text/plain :纯文本格式&&&&&
&&& text/xml :& XML格式&&& image/gif :gif图片格式&&&
&&& image/jpeg :jpg图片格式
&&& image/png:png图片格式
&& 以application开头的媒体格式类型:
&& application/xhtml+xml :XHTML格式&& application/xml&&&& : XML数据格式&& application/atom+xml& :Atom XML聚合格式&&&
&& application/json&&& : JSON数据格式&& application/pdf&&&&&& :pdf格式&
&& application/msword& : Word文档格式&& application/octet-stream : 二进制流数据(如常见的文件下载)&& application/x-www-form-urlencoded : &form encType=””&中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
&& 另外一种常见的媒体格式是上传文件之时使用的:
&&& multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
&&&& 以上就是我们在日常的开发中,经常会用到的若干content-type的内容格式。
2.&& Spring MVC中关于关于Content-Type类型信息的使用
&&& 首先我们来看看RequestMapping中的Class定义:
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestMapping {
String[] value() default {};
RequestMethod[] method() default {};
String[] params() default {};
String[] headers() default {};
String[] consumes() default {};
String[] produces() default {};
}value:& 指定请求的实际地址, 比如 /action/info之类。
method:& 指定请求的method类型, GET、POST、PUT、DELETE等
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/
produces:&&& 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
params: 指定request中必须包含某些参数值是,才让该方法处理
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求
其中,consumes, produces使用content-typ信息进行过滤信息;headers中可以使用content-type进行过滤和判断。
3. 使用示例
& 3.1 headers
@RequestMapping(value = &/test&, method = RequestMethod.GET, headers=&Referer=/&)
public void testHeaders(@PathVariable String ownerId, @PathVariable String petId) {
// implementation omitted
} & 这里的Headers里面可以匹配所有Header里面可以出现的信息,不局限在Referer信息。
@RequestMapping(value = &/response/ContentType&, headers = &Accept=application/json&)
public void response2(HttpServletResponse response) throws IOException {
//表示响应的内容区数据的媒体类型为json格式,且编码为utf-8(客户端应该以utf-8解码)
response.setContentType(&application/charset=utf-8&);
//写出响应体内容
String jsonData = &{\&username\&:\&zhang\&, \&password\&:\&123\&}&;
response.getWriter().write(jsonData);
服务器根据请求头“Accept=application/json”生产json数据。
当你有如下Accept头,将遵守如下规则进行应用:
①Accept:text/html,application/xml,application/json
&&&&& 将按照如下顺序进行produces的匹配 ①text/html ②application/xml ③application/json
②Accept:application/q=0.5,application/q=0.9,text/html
&&&&& 将按照如下顺序进行produces的匹配 ①text/html ②application/json ③application/xml
&&&&& 参数为媒体类型的质量因子,越大则优先权越高(从0到1)
③Accept:*/*,text/*,text/html
&&&&& 将按照如下顺序进行produces的匹配 ①text/html ②text/* ③*/*
即匹配规则为:最明确的优先匹配。
Requests部分
指定客户端能够接收的内容类型
Accept: text/plain, text/html
Accept-Charset
浏览器可以接受的字符编码集。
Accept-Charset: iso-8859-5
Accept-Encoding
指定浏览器可以支持的web服务器返回内容压缩编码类型。
Accept-Encoding: compress, gzip
Accept-Language
浏览器可接受的语言
Accept-Language: en,zh
Accept-Ranges
可以请求网页实体的一个或者多个子范围字段
Accept-Ranges: bytes
Authorization
HTTP授权的授权证书
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control
指定请求和响应遵循的缓存机制
Cache-Control: no-cache
Connection
表示是否需要持久连接。(HTTP 1.1默认进行持久连接)
Connection: close
HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
Cookie: $Version=1; Skin=
Content-Length
请求的内容长度
Content-Length: 348
Content-Type
请求的与实体对应的MIME信息
Content-Type: application/x-www-form-urlencoded
请求发送的日期和时间
Date: Tue, 15 Nov&:31 GMT
请求的特定的服务器行为
Expect: 100-continue
发出请求的用户的Email
指定请求的服务器的域名和端口号
只有请求内容与实体相匹配才有效
If-Match: “c284d8af7add”
If-Modified-Since
如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码
If-Modified-Since: Sat, 29 Oct :31 GMT
If-None-Match
如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变
If-None-Match: “c284d8af7add”
如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag
If-Range: “c284d8af7add”
If-Unmodified-Since
只在实体在指定时间之后未被修改才请求成功
If-Unmodified-Since: Sat, 29 Oct :31 GMT
Max-Forwards
限制信息通过代理和网关传送的时间
Max-Forwards: 10
用来包含实现特定的指令
Pragma: no-cache
Proxy-Authorization
连接到代理的授权证书
Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
只请求实体的一部分,指定范围
Range: bytes=500-999
先前网页的地址,当前请求网页紧随其后,即来路
Referer: /archives/71.html
客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息
TE: trailers,q=0.5
向服务器指定某种传输协议以便服务器进行转换(如果支持)
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent
User-Agent的内容包含发出请求的用户信息
User-Agent: Mozilla/5.0 (L X11)
通知中间网关或代理服务器地址,通信协议
Via: 1.0 fred, 1. (Apache/1.1)
关于消息实体的警告信息
Warn: 199 Miscellaneous warning
Responses 部分&
Accept-Ranges
表明服务器是否支持指定范围请求及哪种类型的分段请求
Accept-Ranges: bytes
从原始服务器到代理缓存形成的估算时间(以秒计,非负)
对某网络资源的有效的请求行为,不允许则返回405
Allow: GET, HEAD
Cache-Control
告诉所有的缓存机制是否可以缓存及哪种类型
Cache-Control: no-cache
Content-Encoding
web服务器支持的返回内容压缩编码类型。
Content-Encoding: gzip
Content-Language
响应体的语言
Content-Language: en,zh
Content-Length
响应体的长度
Content-Length: 348
Content-Location
请求资源可替代的备用的另一地址
Content-Location: /index.htm
Content-MD5
返回资源的MD5校验值
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range
在整个返回体中本部分的字节位置
Content-Range: bytes /47022
Content-Type
返回内容的MIME类型
Content-Type: text/ charset=utf-8
原始服务器消息发出的时间
Date: Tue, 15 Nov :31 GMT
请求变量的实体标签的当前值
ETag: “c284d8af7add”
响应过期的日期和时间
Expires: Thu, 01 Dec :00 GMT
Last-Modified
请求资源的最后修改时间
Last-Modified: Tue, 15 Nov :26 GMT
用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Location: /archives/94.html
包括实现特定的指令,它可应用到响应链上的任何接收方
Pragma: no-cache
Proxy-Authenticate
它指出认证方案和可应用到代理的该URL上的参数
Proxy-Authenticate: Basic
应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
Retry-After
如果实体暂时不可取,通知客户端在指定时间之后再次尝试
Retry-After: 120
web服务器软件名称
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Set-Cookie
设置Http Cookie
Set-Cookie: UserID=JohnD Max-Age=3600; Version=1
指出头域在分块传输编码的尾部存在
Trailer: Max-Forwards
Transfer-Encoding
文件传输编码
告诉下游代理是使用缓存响应还是从原始服务器请求
告知代理客户端响应是通过哪里发送的
Via: 1.0 fred, 1. (Apache/1.1)
警告实体可能存在的问题
Warning: 199 Miscellaneous warning
WWW-Authenticate
表明客户端请求实体应该使用的授权方案
WWW-Authenticate: Basic
3.2 params的示例
@RequestMapping(value = &/test/{userId}&, method = RequestMethod.GET, params=&myParam=myValue&)
public void findUser(@PathVariable String userId) {
// implementation omitted
& 仅处理请求中包含了名为“myParam”,值为“myValue”的请求,起到了一个过滤的作用。
3.3 consumes/produces
@Controller
@RequestMapping(value = &/users&, method = RequestMethod.POST, consumes=&application/json&, produces=&application/json&)
@ResponseBody
public List&User& addUser(@RequestBody User userl) {
// implementation omitted
return List&User&
& 方法仅处理request Content-Type为“application/json”类型的请求. produces标识==&处理request请求中Accept头中包含了&application/json&的请求,同时暗示了返回的内容类型为application/
& 在本文中,首先介绍了Content-Type主要支持的格式内容,然后基于@RequestMapping标注的内容介绍了主要的使用方法,其中,headers, consumes,produces,都是使用Content-Type中使用的各种媒体格式内容,可以基于这个格式内容来进行访问的控制和过滤。
参考资料:
1.& HTTP中支持的Content-Type: http://tool.oschina.net/commons
2.& Media Type介绍。 /topic/1127120
本文已收录于以下专栏:
相关文章推荐
在spring3 中新增了@ResponseBody 和@RequestBody 两个注解,下面我们来学习一下相关内容:
一、@RequestBody 
1、该注解用于读取Request请求的body...
类型格式:type/subtype(;parameter)? type
主类型,任意的字符串,如text,如果是*号代表所有;
subtype 子类型,任意的字符串,如html,如果是*号代表所有...
package com.
import Java.io.BufferedR
import java.io.DataOutputS
import java.io.IO...
equest中发送json数据用post方式发送Content-type用application/charset=utf-8方式发送的话,直接用springMVC的@RequestBody标...
import org.
import javax.servlet.*;
import javax.servlet.http....
request中发送json数据用post方式发送Content-type用application/charset=utf-8方式发送的话,直接用springMVC的@RequestBody...
application/x-www-form-urlencoded最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 app...
在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值Medi...
HTTP的MIME
要学习content-type,必须事先知道它到底是什么,是干什么用的。
HTTP协议(RFC2616)采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 webview 判断服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信