e621小马 e621( 四 )


比如,如果浏览器不支持 PNG 图片的显示,那 Accept 就不指定image/png,而指定可处理的 image/gif 和 image/jpeg 等图片类型 。
一般 MIME 类型也会和 q 这个属性一起使用,q 是什么?q 表示的是权重,来看一个例子
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8复制代码若想要给显示的媒体类型增加优先级,则使用 q= 来额外表示权重值,没有显示权重的时候默认值是1.0 。
q
MIME
1.0
text/html
1.0
application/xhtml+xml
0.9
application/xml
0.8
* / *
Accept-Charset
accept-charset 属性规定服务器处理表单数据所接受的字符集 。
accept-charset 属性允许您指定一系列字符集,服务器必须支持这些字符集,从而得以正确解释表单中的数据 。
Accept-Language
首部字段 Accept-Language 用来告知服务器用户 *** 能够处理的自然语言集(指中文或英文等),以及自然语言集的相对优先级 。
Accept-Language: en-US,en;q=0.5复制代码响应标头响应标头是可以在 HTTP 响应中使用的 HTTP 标头 。并不是所有出现在响应中的标头都是响应标头 。还有一些特殊的我们上面说过,有通用标头和实体标头也会出现在响应标头中,比如 Content-Length 就是一个实体标头,但是,在这种情况下,这些实体请求通常称为响应头 。下面以一个例子为例和你探讨一下响应头
200 OKAccess-Control-Allow-Origin: *Connection: Keep-AliveContent-Encoding: gzipContent-Type: text/html; charset=utf-8Date: Mon, 18 Jul 2016 16:06:00 GMTEtag: "c561c68d0ba92bbeb8b0f612a9199f722e3a621a"Keep-Alive: timeout=5, max=997Last-Modified: Mon, 18 Jul 2016 02:36:04 GMTServer: ApacheSet-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secureTransfer-Encoding: chunkedVary: Cookie, Accept-Encodingx-frame-options: DENY复制代码响应状态码
以 2xx 为开头的都表示请求成功响应 。
状态码
含义
200
成功响应
204
请求处理成功,但是没有资源可以返回
206
对资源某一部分进行响应,由Content-Range 指定范围的实体内容 。
以 3xx 为开头的都表示需要进行附加操作以完成请求
状态码
含义
301
永久性重定向,该状态码表示请求的资源已经重新分配 URI,以后应该使用资源现有的 URI
302
临时性重定向 。该状态码表示请求的资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问 。
303
该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET*** 定向获取请求的资源 。
304
该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况 。
307
临时重定向 。该状态码与 302 Found 有着相同的含义 。
以 4xx 的响应结果表明客户端是发生错误的原因所在 。
状态码
含义
400
该状态码表示请求报文中存在语法错误 。当错误发生时,需修改请求的内容后再次发送请求 。
401
该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息 。
403
该状态码表明对请求资源的访问被服务器拒绝了 。
404
该状态码表明服务器上无法找到请求的资源 。
以 5xx 为开头的响应标头都表示服务器本身发生错误
状态码
含义
500
该状态码表明服务器端在执行请求时发生了错误 。
503
该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求 。
HTTP协议优缺点HTTP 的优点简单灵活易扩展HTTP 的协议比较简单,它的主要组成就是 header + body,头部信息也是简单的文本格式
HTTP 协议又多了灵活 和 易扩展 的优点 。
HTTP 协议里的请求 *** 、URI、状态码、原因短语、头字段等每一个核心组成要素都没有被制定死,允许开发者任意定制、扩充或解释,给予了浏览器和服务器更大程度的信任和自由 。
应用广泛、环境成熟天然具有跨语言、跨平台的优越性,而且,因为本身的简单特性很容易实现,所以几乎所有的编程语言都有 HTTP 调用库和外围的开发测试工具
无状态既是优点又是缺点 。因为服务器没有记忆能力,所以就不需要额外的资源来记录状态信息,不仅实现上会简单一些,而且还能减轻服务器的负担,能够把更多的 CPU 和内存用来对外提供服务 。
HTTP 的缺点无状态服务器没有记忆能力,它就无法支持需要连续多个步骤的事务操作 。每次都得问一遍身份信息,需要增加了不必要的数据传输量 。由此出现了 Cookie 技术 。

推荐阅读