这个标头中可以出现许多单独的指令,其详细信息可以在 RFC 2616 中找到,即使这是常规标头,某些指令也只能出现在请求或响应中。...Cache-Control: proxy-revalidate no-transform 使用 no-transform 指令规定无论是在请求还是响应中,缓存都不能改变实体主体的媒体类型。...若想要给显示的媒体类型增加优先级,则使用 q= 来额外表示权重值,没有显示权重的时候默认值是1.0 ,我给你列个表格你就明白了 ?...,关于 ETag 我们会在响应标头中详细讲述。...响应标头 Content-Type 说明了实体内对象的媒体类型,和首部字段 Accept 一样使用,表示服务器能够响应的媒体类型。
我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,...Cache-Control: proxy-revalidate no-transform 使用 no-transform 指令规定无论是在请求还是响应中,缓存都不能改变实体主体的媒体类型。...若想要给显示的媒体类型增加优先级,则使用 q= 来额外表示权重值,没有显示权重的时候默认值是1.0 ,我给你列个表格你就明白了 ?...,关于 ETag 我们会在响应标头中详细讲述。...响应标头 Content-Type 说明了实体内对象的媒体类型,和首部字段 Accept 一样使用,表示服务器能够响应的媒体类型。
明眼人一看,HttpClient请求没有设置Content-Type,接收端没有识别出JSON 格式的payload , 进行了转码,生成了错误签名。...属于Entity Header的一种,对应.NET类型 HttpContent Header; 虽然Entity Header不是请求标头也不是响应标头,它们还是会包含在请求/响应标头术语中(此说法来自官方...所以我们在Chrome DevTools没有看到Entity Headers分组, 却常在请求/响应标头中看到Content-Type标头。...httpClient.SendAsync(request); return response; } 使用HttpClient.SendAsync(request) 方法② 写入HttpContent时传入媒体类型...Content-Type 这个实体标头,会出现了请求/响应标头,指示资源的媒体类型。 .NTE针对4种HTTP Header强化了区别,在实际开发中要区别使用。
如果它不能提供一个合适的资源,它可能使用 406(Not Acceptable)、415(Unsupported Media Type)进行响应并为其支持的媒体类型设置标头(例如,分别对 POST 和...因为给定的资源需要返回不同的表示形式,共享缓存的效率会降低,而服务器端的实现会越来越复杂。 Accept 标头 Accept 标头列举了用户代理希望接收的媒体资源的 MIME 类型。...Accept 标头的值由浏览器或其他类型的用户代理确定,并且会由于上下文环境的不同而不同。...Accept-Encoding 标头 Accept-Encoding标头明确说明了(接收端)可以接受的内容编码形式(所支持的压缩算法)。...特殊值“*”意味着在服务端驱动型内容协商过程中同时采纳了未在标头中传递的信息来选择合适的内容。 Vary 标头是在 HTTP 协议的 1.1 版本中新添加的,它是为了使缓存恰当地工作。
Accept-CH 服务器可以使用Accept-CH标头字段或具有http-equiv属性([HTML5])的等效HTML 元素来宣传对客户端提示的支持。...Keep-Alive 控制持久连接应保持打开状态的时间。 内容协商 Section Accept 通知服务器有关可以发送回的数据类型。 Accept-Charset 客户可以理解哪种字符编码。...邮件正文信息 Section Content-Length 资源的大小,以十进制字节数表示。 Content-Type 指示资源的媒体类型。 Content-Encoding 用于指定压缩算法。...范围要求 Section Accept-Ranges 指示服务器是否支持范围请求,如果支持,则以哪种单位表示范围。 Range 指示服务器应返回的文档部分。...Accept-Signature 客户端可以发送Accept-Signature标头字段以指示意图利用任何可用签名并指示其支持的签名类型。 Alt-Svc 用于列出获得此服务的替代方法。
101交换协议 为响应来自客户端的升级请求标头而发送,并指示服务器正在切换到的协议。 102 处理 (WebDAV) 表示服务器已收到并正在处理请求,但还没有响应。...203 非权威信息 表示实体标头中返回的元信息不是原始服务器可用的最终集,而是从本地或第三方副本收集的。呈现的集合可能是原始版本的子集或超集。 204 无内容 服务器已完成请求,但不需要返回响应正文。...406 不可接受 Accept服务器在请求中发送的标头中找不到任何符合用户代理给出的标准的内容。 407 需要代理身份验证 表示客户端必须首先通过代理验证自己。...412 前置条件失败 客户端在其标头中指出了服务器不满足的先决条件。 413请求实体太大 请求实体大于服务器定义的限制。 414 请求 URI 太长 客户端请求的 URI 比服务器可以解释的要长。...415 不支持的媒体类型 Content-type服务器不支持请求的媒体类型。 416 请求的范围不满足 Range无法满足请求中标头字段指定的范围。
它没有状态代码、媒体类型或相关资源。...POST 该POST方法从给定的请求正文创建一个新实体。默认情况下,响应是否包含正文由Accept随请求发送的标头控制。如果发送了一个,则会创建一个响应正文。...如果不是,则响应正文为空,并且可以通过以下Location响应标头中包含的链接获取所创建资源的表示。...相关资源为关联资源类型。 HEAD 该HEAD方法返回项目资源是否可用。它没有状态代码、媒体类型或相关资源。...默认情况下,响应是否包含正文由Accept随请求发送的标头控制。如果请求标头存在,200 OK则返回响应正文和状态代码。
4.1、常见 2 种方式 方式 1:http 请求头中使用 Accept 来指定客户端能够接收的类型(又叫:媒体类型) 方式 2:自定义的方式 比如请求地址的后缀,test1.xml、test1.json...MediaType 是否包含了参数中指定的 other,比如当前的是:*/*,这是一个通配符类型的,那么可以匹配一切类型 7.3、排序规则 SpringMVC 内部会根据客户端 Accept 指定的媒体类型列表以及服务器端接口能够支持的媒体类型列表...如下代码,这段代码就由 SpringMVC 内部结合请求头中的 Accpet 协商得到最终返回的媒体类型。...然后结合 http 头中的 Accept,得到一个最终双方都可以接受的媒体类型。 然后就进行排序。...的getSupportedMediaTypes方法得到一个媒体类型列表 step3:根据双方支持的媒体类型列表,得到双方都认可媒体类型列表 step4:对 step 中得到的双方都支持的媒体类型列表进行排序
Content-Language Content-Type所指的媒体类型值仅仅限于下列三者之一 text/plain multipart/form-data application/x-www-form-urlencoded...,可以拿到 如果Origin头部信息的值为"*"(表示允许来自任何来源的请求)但这种情况下需要谨慎使用,因为它存在安全隐患 如没有这个头信息,说明服务端没有开启资源共享,浏览器会认为这次请求失败终止这次请求...检查服务器是否支持跨域请求,并确认实际请求的安全性。预检请求是为保护客户端的安全,防止不受信任网站利用用户浏览器向其他网站发恶意请求。...发送跨域请求时,请求头中包含了一些非简单请求的头信息,如自定义头(custom header) 发送跨域请求时,使用了 PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH等请求方法...大姐漏出了澄澈的目光,好吧 4 上案例 这下测试大姐终于半信半疑地关闭了Bug。 5 假如世上没有测试大姐 我说假如啊!
在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。...-255) 备注: Firefox 还没有将 Range 实现为安全的请求标头。...Content-Type标头所指定的媒体类型的值仅限于下列三者之一: text/plain multipart/form-data application/x-www-form-urlencoded...请求中没有使用 ReadableStream 对象。 其他浏览器并不支持这些额外的限制,因为它们不属于规范的一部分。...如果服务端指定了具体的单个源(作为允许列表的一部分,可能会根据请求的来源而动态改变)而非通配符“*”,那么响应标头中的 [Vary] 字段的值必须包含 Origin。
不同于文本文件,这些其他类型的媒体文件占据的空间也更大,所以很早就出现了回收这些浪费的空间的需求。工程师们设计了可以应用于特定用途的文件类型的经过优化的算法。...备注: 由于数据压缩技术在一些特定类型的文件上效果很好,再次进行压缩通常没有什么效果。...浏览器发送 Accept-Encoding 标头,其中包含有它所支持的压缩算法,以及各自的优先级,服务器则从中选择一种,使用该算法对响应的消息主体进行压缩,并且发送Content-Encoding 标头来告知浏览器它选择了哪一种算法...由于该内容协商过程是基于编码类型来选择资源的展现形式的,在响应时,服务器至少发送一个包含Accept-Encoding 的Vary标头以及该标头;这样的话,缓存服务器就可以对资源的不同展现形式进行缓存。...标头中指出它所选择的方法。
如果服务器没有(或者不能)升级这次连接,它会忽略客户端发送的 Upgrade 标头字段,返回一个常规的响应:例如一个 200 OK)....将服务器支持的第一个 WebSocket 协议,由服务器在响应中包含的 Sec-WebSocket-Protocol 标头中选择并返回它。...你可以在标头中多次使用它;结果与在单个标头中使用逗号分隔的子协议标识符列表相同。...标头,其中包含支持的逗号分隔列表的协议版本。...它只会在响应标头中出现一次。 Sec-WebSocket-Accept: hash
通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也是将枚举类型转换成..., Manager, Admin } 假设有一个实体类Users,如果实体类不支持枚举类型,得这样使用(下面的示例都以PDF.NET的ORM框架使用来说明): /...这种情况下EF 5.0 之前也不例外,都是社区用户的强烈要求,在EF5.0版本之后才加入支持实体类枚举属性的。 ...经过测试,通过这样的修改,框架就可以支持实体类使用枚举类型了。 为什么修改如此简单?...这个特点为系统移植数据库平台提供了很大的便利,比如Oracle 没有Decimal类型,没有real 类型,要使用非整形的数字类型,只有使用Number类型,那么为SqlServer设计使用的实体类,一般情况下也可以直接在
max-age:该参数后方会被赋值上相应的秒数,在请求头中表示如果缓存时间没有超过这个值就返回给我。而在响应头中时,则表示资源在缓存服务器中缓存的最大时间。...接下来将给出常用而且比较重要的几个请求头部字段。 1 Accept 该字段可通知服务器用户代理能够处理的媒体类型以及该媒体类型对应的优先级。...媒体类型可使用“type/subtype”这种形式来指定,分号后边紧跟着的是该类型的优先级。如下所示。 ?...1 Accept-Ranges 该字段用来告知客户端服务器那边是否支持范围请求(请求部分内容,请求头中使用Range字段)。...Accept-Ranges的值为bytes时,就说明服务器支持范围请求,为none时,说明服务器不支持客户端的范围请求。下方是博客园的页面的加载,从下方可以看出是支持范围请求的,如下所示: ?
Accept-language 告诉 Web 服务器,浏览器想要得到对象的法语版本,前提是服务器需要支持法语类型,否则将会发送服务器的默认版本。...: de-DE, en-CA Content-Encoding 这又是一个比较麻烦的属性,这个实体报头用来压缩媒体类型。...内容协商的分类有很多种,主要的几种类型是 Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。...Accept 接受请求 HTTP 标头会通告客户端其能够理解的 MIME 类型 那么什么是 MIME 类型呢?...若想要给显示的媒体类型增加优先级,则使用 q= 来额外表示权重值,没有显示权重的时候默认值是1.0 ,我给你列个表格你就明白了 ?
如果没有其他适用的错误, 或者不知道准确的错误或错误没有自己的错误代码,则发送 BadRequest。 Conflict 409 等效于 HTTP 状态 409。...Found 指示请求的信息位于 Location 标头中指定的 URI 处。 接收到此状态时的默认操作为遵循与响应关联的 Location 标头。...NotAcceptable 指示客户端已用 Accept 标头指示将不接受资源的任何可用表示形式。 NotFound 404 等效于 HTTP 状态 404。...Redirect 指示请求的信息位于 Location 标头中指定的 URI 处。 接收到此状态时的默认操作为遵循与响应关联的 Location 标头。...UnsupportedMediaType指示请求是不受支持的类型。 Unused 306 等效于 HTTP 状态 306。 Unused 是未完全指定的 HTTP/1.1 规范的建议扩展。
HTTP 1.1 支持断点续传,通过使用请求头中的 Range 来实现。...分别介绍一下 通用标头 通用标头主要有三个,分别是 Date、Cache-Control 和 Connection Date Date 是一个通用标头,它可以出现在请求标头和响应标头中,它的基本表示如下...Content-Encoding 这又是一个比较麻烦的属性,这个实体报头用来压缩媒体类型。Content-Encoding 指示对实体应用了何种编码。...If-None-Match: "c561c68d0ba92bbeb8b0fff2a9199f722e3a621a" Accept 接受请求 HTTP 标头会通告客户端其能够理解的 MIME 类型 Accept-Charset...TLS 具体的握手过程会根据所使用的密钥交换算法的类型和双方支持的密码套件而不同。我们以RSA 非对称加密来讨论这个过程。整个 TLS 通信流程图如下 ?
Accept-language 告诉 Web 服务器,浏览器想要得到对象的法语版本,前提是服务器需要支持法语类型,否则将会发送服务器的默认版本。...: de-DE, en-CA Content-Encoding 这又是一个比较麻烦的属性,这个实体报头用来压缩媒体类型。...内容协商的分类有很多种,主要的几种类型是 Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。...Accept 接受请求 HTTP 标头会通告客户端其能够理解的 MIME 类型 那么什么是 MIME 类型呢?...若想要给显示的媒体类型增加优先级,则使用 q= 来额外表示权重值,没有显示权重的时候默认值是1.0 ,我给你列个表格你就明白了 q MIME 1.0 text/html 1.0 application/
Accept-language 告诉 Web 服务器,浏览器想要得到对象的法语版本,前提是服务器需要支持法语类型,否则将会发送服务器的默认版本。...: de-DE, en-CA Content-Encoding 这又是一个比较麻烦的属性,这个实体报头用来压缩媒体类型。...内容协商的分类有很多种,主要的几种类型是 Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。...Accept 接受请求 HTTP 标头会通告客户端其能够理解的 MIME 类型 那么什么是 MIME 类型呢?...若想要给显示的媒体类型增加优先级,则使用 q= 来额外表示权重值,没有显示权重的时候默认值是1.0 ,我给你列个表格你就明白了 q MIME 1.0 text/html 1.0 application
领取专属 10元无门槛券
手把手带您无忧上云