鲜为人知的HTTP协议头字段详解大全

HTTP头部信息(通用头部、请求头部、响应头部、实体头部) HTTP头部信息包括通用头部、请求头部、响应头部和实体头部四个部分。HTTP头部信息的作用是在客户端和服务器之间传递额外的信息,以便更好地处理和控制请求和响应的行为和内容。HTTP头部信息包括响应头部、请求头部、通用头部和实体头部四个部分。请求头的作用请求头提供了关于客户端环境和请求参数的信息。例如,User-Agent请求头告诉服务器关于客户端浏览器类型、操作系统和版本等信息。Accept请求头告诉服务器客户端可以处理的媒体类型,例如text/html等。响应头的作用。 阅读详情
AI摘要

本文深入解析HTTP头部信息,包括客户端期望的媒体格式、编码格式、语言,服务器返回的内容类型、长度、位置等,以及缓存控制、认证、传输编码等关键头部字段。

640?wx_fmt=other

继上篇讲了HTTP协议的基础之后,本篇重点介绍一下HTTP常用的Header。

HTTP Header非常之多,很少有人能完全分清这些Header到底是干什么的。鉴于RFC文件规范艰深晦涩难懂,本文对协议规范中列出的HTTP Header进行了梳理,用通俗的语言进行表达,便于读者吃透HTTP协议。

作者在阅读RFC文档的时候发现了很多以前没注意到的知识,估计做web开发的小伙伴们也大多忽视了这些知识,阅读文本会给你们带来很多意外的惊喜。

免责声明:如果下面有那句话有不对的地方,还请喷少点口水。

640?wx_fmt=jpeg

Accept

表示客户端期望服务器返回的媒体格式。客户端期望的资源类型服务器可能没有,所以客户端会期望多种类型,并且设置优先级,服务器根据优先级寻找相应的资源返回给客户端。

# 注意:先逗号分割类型,再分号分割属性
Accept: audio/*; q=0.2, audio/basic

表示audio/basic类型的资源优先,如果没有,就随便其它什么格式的audio资源都可以。q的取值范围是(0-1],其具体值并没有意义,它仅用来排序优先级,如果没有q,默认q=1,也就是最高优先级。

Accept-Charset

表示客户端期望服务器返回的内容的编码格式。它同Accept头一样,也可以指定多个编码,以q值代表优先级。

# 注意:先逗号分割类型,再分号分割属性
Accept-Charset: utf8, gbk; q=0.6

表示utf8编码优先,如果不行,就拿gbk编码返回.

Content-Type

Content-Type是服务器向客户端发送的头,代表内容的媒体类型和编码格式,是对Accept头和Accept-Charset头的统一应答。

Content-Type: text/html; charset=utf8

表示返回的Body是个html文本,编码为utf8

640?wx_fmt=png

Accept-Language

表示客户端期望服务器返回的内容的语言。很多大型互联网公司是全球化的,它的技术文档一般有有多种语言,通过这个字段可以实现文档的本地化,对国内用户呈现简体中文文档,对英语系用户呈现英文文档。

Accept-Language:zh-CN,en-US;q=0.8,zh-TW;q=0.6

表示大陆简体中文优先,其次英语,再其次台湾繁体中文

Content-Language

这个头字段内容是对Accept-Language的应答。服务器通过此字段告知客户端返回的Body信息的语言是什么。

640?wx_fmt=png

Content-Length

表示传输的请求/响应的Body的长度。GET请求因为没有Body,所以不需要这个头。携带Body的并且可以提前知道Body长度的请求/响应必须带上这个字段,以便对方可以方便的分辨出报文的边界,也就是Body数据何时结束。如果Body太大,需要边计算边传输,不到最后计算结束是无法知道整个Body大小的,这个时候可以使用http分块传输,这个时候也是不需要Content-Length字段的。

Content-Location

当客户端请求的资源在服务器有多个地址时,服务器可以通过Content-Location字段告知客户端其它的可选地址。这个字段比较少见。

Content-MD5

在Header中提供这个信息是用来做Body内容校验。它表示Body信息被md5算法处理后的base64字符串。这个字段也比较少见。因为校验机制在TCP层已经有实现了,再来一层校验并没有多大意义。另外资源的md5值往往用来放在后面的ETag头信息中作为资源的唯一标识来使用。

640?wx_fmt=jpeg

Date

如果服务器没有缓存,那么Date就是响应的即时生成时间。如果服务器设有缓存,那么Date就是响应内容被缓存的时间。它必须符合规范里定义的特定格式,这种格式叫着HTTP-Date,不支持随意定义自己的时间格式。

Date: Tue, 15 Nov 1994 08:12:31 GMT

Age

表示资源缓存的年龄,也就是资源自缓存以来到现在已经过去了多少时间,单位是秒。

Age: 86400

Expires

服务器使用Expect头来告知对方资源何时失效。如果它的值等于Date头的值,就表示资源已经实效。

Expires: Thu, 01 Dec 1994 16:00:00 GMT

ETag

资源标签,每个资源可以提供多个标签信息。它一般用来和下面的If-Match和If-None-Match配合使用,用来判断缓存资源的有效性。比较常见的标签是资源的版本号,比如可以拿资源数据的md5校验码作为版本号。

If-Match

If-Match的值一般是上面提到的ETag的值,它常用于HTTP的乐观锁。所谓HTTP乐观锁,是指客户端先GET这个资源得到ETag中的版本号,然后发起一个资源修改请求PUT|PATCH时通过If-Match头来指定资源的版本号,如果服务器资源满足If-Match中指定的版本号,请求就会被执行。如果不满足,说明资源被并发修改了,就需要返回状态码为412 Precondition failed 的错误。客户端可以选择放弃或者重试整个过程。

If-None-Match

类似于If-Match,只是条件相反。

640?wx_fmt=png

Allow

表示资源支持访问的HTTP Method类型。它是服务器对客户端的建议,告知对方请使用Allow中提到的Method来访问资源。

Allow: GET, HEAD, PUT

Connection

当客户端和服务器需要协商连接的属性时,可以使用Connection头部。比较常用的一个值是close,用来通知对方在当前请求结束后关闭连接。

Connection: close

Expect

用于请求发送之前向服务器询问许可。譬如要向服务器发送一个很大的文件而不确定是否超出限制,就可以在请求头里携带一个Expect头部

Expect: 100-continue

如果服务器说不行,就会返回417 Expectation Failed错误告知客户端放弃。如果可以那就返回100 continue状态码告知客户端放马过来吧,于是客户端就会继续上传Body内容。如果服务器提前收到Body内容就会放弃返回100 continue响应。

From

该字段一般用来标记请求发起者的邮件地址,相当于给请求赋予一个责任人。如果服务器发现请求存在问题,就会通过此字段联系到发起人进行处理。因为邮件地址涉及到隐私信息,所以请求携带From头需要征得用户的同意。RFC协议建议所有的机器人代理发起的请求应该携带此头部,以免遇到问题时可以找到责任人。不过如果是恶意的机器人,估计这样的建议也只是耳边风而已。

Host

RFC协议规定所有的HTTP请求必须携带Host头,即使Host没有值,也必须带上这个Host头附加一个空串,如果不满足,应用服务器应该抛出400 Bad Request。协议虽然这样规定,不过大部分网关或者服务器都比较仁慈,既然没有指定Host字段,那就给你默认加上一个。

640?wx_fmt=png

Last-Modified

标记资源的最近修改时间,它和Date比较类似,区别是Last-Modified代表修改时间,而Date是创建时间。

If-Modified-Since

浏览器向服务器请求静态资源时,如果浏览器本地已经有了缓存,就会携带If-Modified-Since头,值为资源的Last-Modified时间,询问服务器该资源自从这个Last-Modified时间之后有没有被修改。如果没有修改过,就会向浏览器返回304 Not Modified通知浏览器可以放心使用缓存内的资源。如果资源修改过,那就像正常的GET请求一样,携带资源的内容返回200 OK。

If-Unmodified-Since

类似于If-Modified-Since,意义相反。区别是当服务器资源条件不满足时,不是返回304 Not Modified,而是返回412 Precondition Failed。

640?wx_fmt=png

Range

支持断点续传的服务器必须处理Range头,它表示客户端请求资源的一部分时指定的请求字节范围。它是客户端向服务器发送的请求头。

Range: bytes=500-999

Content-Range

针对上面的Range头,服务器响应客户端时也需提供相应的Content-Range头,表示传输的Body数据在整体资源块中的字节范围。比如下面的例子表示该资源总共有47022字节,当前响应的内容是21010-47021字节之间的内容。

Content-Range: bytes 21010-47021/47022

之所以是47021而不是47022是因为offset是以0开始的,47021就是最后一个字节。

If-Range

在断点续传时,为确保连续2个请求之间服务器资源本身没有发生变化,需要If-Range头带上ETag的资源版本号。服务器资源根据这个版本号来判定资源是否改变了。如果没变,就返回206 Partial Content将部分资源返回。如果资源变了,那就相当于一个普通的GET请求,返回200 OK和整个资源内容。

640?wx_fmt=png

Location

服务器向客户端发送302跳转的时候,总会携带Location头信息,它的值为目标URL。

HTTP/1.1 302 Temporary Redirect
Location: https://www-temp.example.org/

Max-Forwards

用来限定网关或者代理的层数,也就是最大转发次数。HTTP每经过一个网关或者代理层,Max-Forwards值就要减1。如果nginx接收到前端请求的时候Max-Forwards已经等于0,那么它就不应该再将请求转发到upstream指定的服务节点上。

Pragma

这个头是比较常见的,在前端开发模式下经常会加上这个头部。

Pragma: no-cache

当网关收到一个带有这样请求的头部时,即使内部存在该请求资源的缓存并且有效也不可以直接发送给客户端,而必须转发给后面的upstream进行处理。

Referer

Referer是非常常用的头,它表示请求的发起来源URI,也就是当前页面资源的父页面。如果你从A页面跳转到B页面,那么请求B页面的请求头里面就会有Referer信息,它的值就是A页面的访问地址。通过追踪Referer,可得出资源页面之间复杂的跳转链,它非常适合用于网页的数据分析和路径优化。

640?wx_fmt=png

Retry-After

服务器升级时,来自客户端的请求会直接给予503(Service Unavailable)错误,通过在返回头里面加入Retry-After字段告知客户端何时服务可以恢复正常访问。Retry-After的头可以是HTTP-Date,也可以是整数,表示多少秒后服务可以恢复正常访问。浏览器在拿到这个值之后可以考虑增加一个定时器在未来的某个时间进行重试。

Server

用于返回服务器相关的软件信息,来告知客户端当前的HTTP服务是由某某软件提供的,可以看成是一种软件广告。

User-Agent

携带当前的用户代理信息,一般包含浏览器、浏览器内核和操作系统的版本型号信息。它和Server头是对应的,一个是表达服务器信息,一个是表达客户端信息。服务器可以根据用户代理信息统计出网页服务的浏览器、操作系统的使用占比情况,服务器也可以根据UA的信息来定制不一样的内容。

640?wx_fmt=png

Transfer-Encoding

传送Body信息时需要对Body数据采取何种变换。当HTTP对Body进行分块传送时,需要增加下面的头部信息才可以进行分块传送。其它类型目前没有遇到过。

Transfer-Encoding: chunked

Upgrade

服务器建议客户端升级传输协议。比如当客户端使用HTTP/1.0发送请求时,服务器就可以建议客户端升级到HTTP/1.1。

Upgrade: HTTP/1.1

当客户端要和服务器进行Websocket进行通讯时,在握手阶段服务器也会向客户端发送Upgrade头部信息,提示客户端将协议切换到Websocket。

Upgrade: WebSocket

Vary

该头部用于缓存控制。对于一些缓存服务器,我们在请求里加入Vary参数可以告知缓存服务器对不同的Vary参数的响应使用不同的缓存单元。比如Vary参数里放入编码参数,那么不同编码的网页就会有不同的缓存。Vary的值可以有多个,只要任意一个值不一样就会有不同的缓存。

Vary: Accept-Encoding,Accept-Language

Via

该字段用来标识一个请求经过的网关路由节点。如果这个请求经过了多个代理层,Via头部就会有多个网关信息。

Warning

用于在响应中添加一些附加的警告信息,警告信息包含一个错误码和错误说明。通用的一些错误码在RFC协议中有具体规定。比如111号错误码表示缓存服务器的缓存项目已经过期,并且尝试reload资源,但是reload失败了,所以只好返回了旧的已经过期的内容,这个时候就需要通过warning头反馈客户端。

Warning: 111 Revalidation failed

WWW-Authenticate

WWW-Authenticate是401 Unauthorized错误码返回时必须携带的头,该头会携带一个问题Challenge给客户端,告知客户端需要携带这个问题的答案来请求服务器才可以继续访问目标资源。这种问题Challenge可以自定义,比较常见的是Basic认证。

WWW-Authenticate: Basic realm=xxx

Basic指代base64加密算法(不安全),realm指代认证范围/场合/情景名称。

Authorization

对于某些需要特殊权限才能访问的资源需要客户端在请求里提供用户名密码的认证信息。它是对WWW-Authenticate的应答。

# value = base64(user_name:password)
Authorization: Basic YWRtaW46YWRtaW4xMjM=
0

Proxy-Authenticate

同WWW-Authorization头部,用于代理服务器认证。

Proxy-Authorization

同Authorization头部,用于代理服务器认证。

ETag vs Last-Modified vs Expires

ETag一般携带的是资源的版本号,协议没有具体规定版本号是什么。它可以是资源的md5校验码,也可以是uuid,甚至可以是自增的数字,也可以是资源的修改时间。它的匹配方式是相等/不相等。因为服务器需要维护版本号,取决的版本号是什么,这可能是一个存储和计算的负担。

Last-Modified携带的资源的修改时间。它的匹配方式是大于/小于。如果是静态资源文件,一般就是操作系统记录的文件修改时间。

Expires是服务器告知客户端资源的过期时间。客户端缓存的资源在这个时间之后自动过期,而不需要非得向服务器确认一下是不是304 Not Modified才认为没过期。

Cache-Control

这可能是HTTP头里面最复杂的一个头了。这个头既可以用于请求,也可以用于响应。在请求和响应的取值不一样,分别代表了不同的意思。

  1. no-cache 如果no-cache没有指定值,那就表示不允许缓存。对于请求来说,服务器不得使用缓存内容直接返回。对于响应来说,客户端不得缓存响应的资源内容。如果no-cache指定了值,那就表示值对应的头信息不得使用缓存,其它的信息还是可以缓存的。告知对方我只要新鲜刚出浴的数据。

  2. no-store 告知对方不要持久化请求/响应数据到其它地方,这种信息是敏感的,要保持它的易失性。告知对方记在心里(memory)就行,别写在纸上(disk)。

  3. no-transform 告知对方不要转换数据。比如客户端上传了raw图像数据,服务器一般都会选择性压缩图像数据进行存储。no-transform告知对方保留原始数据信息,不要进行任何转换。告知对方不要乱动我发过来的东西。

  4. only-if-cached 用于请求头,告知服务器只要那些已经缓存的内容,不要去reload。如果没有缓存内容就返回504 Gateway Timeout错误。表示客户端不想太麻烦服务器,有就给,没就算了。

  5. max-age 用于请求头。限制缓存内容的年龄,如果超过max-age年龄的,需要服务器去reload内容资源。这叫客户端的年龄歧视。

  6. max-stale 用于请求头。客户端允许服务器返回缓存已过期的资源内容,但是限定了最大过期时间。表示客户端虽然很宽容,那是也是有限度的。

  7. min-fresh 用于请求头。客户端限制服务器不要那些即将过期的资源内容。就好比我们去超市买牛奶,如果牛奶快过期了虽然还在保质期内咱们也就不会考虑。

  8. public 用于响应头。表示允许客户端缓存响应信息,并可以给别人使用。比如代理服务器缓存静态资源供所有代理用户使用。

  9. private 用于响应头。表示仅允许客户端缓存响应信息给自己使用,不得分享给别人。这样是为了禁止代理服务器进行缓存,而允许客户端自己缓存资源内容。意思是你个人留着用就行,别借给别人用。

640?wx_fmt=png

因为HTTP协议细节非常繁多,以上文字并不能完全将HTTP的所有的头部细节都讲清楚。后续【码洞】会继续更新更加精细的文章,建议读者关注公众号【码洞】第一时间看到相关文章。

HTTP 请求header信息讲解 文章目录HTTP请求header信息讲解1、HTTP请求方式2、Host3、User-Agent4、Accept5、Accept-Lanuage6、Accept-Encoding7、Accept-Charset8、Content-Type9、Keep-Alive10、Response部分 HTTP请求header信息讲解 HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求 阅读详情

相关推荐

AI脸部替换Roop-Unleashed,一键整合包教程

Roop-Unleashed是一个无须训练模型的深度伪造工具,专为图像和视频的面部替换而设计。它通过简洁的浏览器界面提供用户友好且跨平台的使用体验,无论用户是业余爱好者还是专业人士,都能快速上手。它无需复杂的设置即可实现高效的处理和转换,使图像和视频的编辑变得更加轻松和便捷。

m0_72580657的博客 1万+

HTTP消息头(HTTP headers)-常用的HTTP请求头与响应头

HTTP消息头是指,在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。 关于HTTP消息头 常用的HTTP请求头 常用的HTTP响应头 1. 关于HTTP消息头 HTTP消息头是在...

weixin_30872867的博客 6435

【外挂编程】外挂编程技术揭秘(二)

引言: 经过上一篇文章大家可能对外挂有了一个初步的认识,之前的内容比较简单,应该大家很容易掌握。我写作过程中我发现三个篇幅可能写不完,后续还可能要多加几个篇幅,这篇我们就先以内存挂为主吧。话不多说了,让我们开始吧。 文章中代码github地址: https://github.com/Diamonds-ZhaoYu/hz_example 环境要求: 系统:Windows 语言...

c-rain 4035

鲜为人知的HTTP协议头字段详解大全「原创」

继上篇讲了HTTP协议的基础之后,本篇重点介绍一下HTTP常用的Header。 HTTP Header非常之多,很少有人能完全分清这些Header到底是干什么的。鉴于RFC文件规范艰深晦涩难懂,本文对协议规范中列出的HTTP Header进行了梳理,用通俗的语言进行表达,便于读者吃透HTTP协议。 作者在阅读RFC文档的时候发现了很多以前没注意到的知识,估计做web开发的小伙伴们也大多忽视了这些知...

weixin_34212762的博客 769

Python爬虫案例:从39问医生网爬取口腔科的在线问答记录(单轮问答)

本次实验爬取39问医生网中口腔科分类下的所有在线单轮问答记录,每页32条,共100页,总数据量为3200条,最终结果以excel格式保存。

JieBao11的博客 1644

深入CRSF协议数据包:手撕STM32代码,教你像调试串口一样分析ELRS遥控数据流

本文深入解析CRSF协议数据包,通过手撕STM32代码,教你如何像调试串口一样分析ELRS遥控数据流。从硬件准备到数据包捕获状态机设计,再到高级数据分析技巧和实战应用,全面覆盖CRSF协议的解析与优化,帮助开发者构建稳定可靠的通信系统。

weixin_29194693的博客 338

http请求头部(header)详解

通过对HTTP请求头部的详细介绍,我们可以看到,这些看似普通的头部字段实际上在HTTP通信中扮演着非常重要的角色。它们不仅可以提供必要的信息,还可以用于优化传输、处理数据、控制缓存等操作。了解并正确使用HTTP请求头部是开发人员和网络工程师的一项基本技能,对于构建高效、可靠的Web应用程序至关重要。

随便写写 3万+

VSCode里玩转AvaloniaUI:手把手教你搭建跨平台桌面应用开发环境(附.NET 7配置避坑)

本文详细介绍了如何在VSCode中搭建AvaloniaUI跨平台桌面应用开发环境,包括.NET 7配置避坑指南。从环境准备、项目创建到调试优化,手把手教你利用VSCode和Avalonia实现高效开发,特别解决了.NET 7依赖等常见问题,助力开发者快速上手跨平台应用开发。

weixin_28826545的博客 578

HTTP协议头字段详解大全

HTTP协议头字段详解大全 1、Accept 表示客户端期望服务器返回的媒体格式。客户端期望的资源类型服务器可能没有,所以客户端会期望多种类型,并且设置优先级,服务器根据优先级寻找相应的资源返回给客户端。 1 # 注意:先逗号分割类型,再分号分割属性 2 Accept: audio/*; q=0.2, audio/basic 表示audio/basic类型的资源优先,如果没有,就随便其它什么格式的...

weixin_45549435的博客 1438

手把手教你用Isaac Sim 8打造逼真光影效果:参数设置与场景应用

本文详细介绍了如何使用Isaac Sim 8打造逼真光影效果,涵盖基础参数设置、高级材质交互、专业级灯光造型技法以及复杂场景的灯光布局策略。通过实战案例和参数调优技巧,帮助用户提升虚拟场景的视觉表现,适用于数字孪生、虚拟仿真和影视特效等领域。

weixin_30836759的博客 81

CCS8.1 导入CCS3.3工程方法

    CCS3.3作为开发人员使用最广开发工具,研究人员手上存在不少该版本的建立的程序版本,然而随着TI公司推出高级版本的CCS平台,在新的平台上集成了更加丰富的功能和优点。利用新版本的平台在开发和编译旧版本工程上可以节省大量时间和精力。在使用新版本开发3.3版本工程时,首要解决的就是加载3.3的工程文件,现将加载过程记录如下: 第一步:Project->Import Legacy CC...

1万+

协议头,wireshark,http

基本介绍:HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0。

weixin_63345747的博客 2557

基于FPGA的64点fft变换verilog开发

这精度的损失在10bits看来对最后的误差的影响是存在是不可忽略的。此后,在这思想基础上又开发了高基和分裂基等快速算法,随着数字技术的高速发展,1976年出现建立在数论和多项式理论基础上的维诺格勒傅里叶变换算法(WFTA)和素因子傅里叶变换算法。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。

FPGA/MATLAB学习教程/源码/项目合作开发 1977

解密HTTP协议:探索协议头部中的数据类型字段

HTTP协议是一种无状态的、面向连接的协议,它基于客户端-服务器模型,通过请求-响应的方式进行通信。客户端发送HTTP请求到服务器,服务器根据请求返回相应的HTTP响应。Content-Type字段用于指示请求或响应中的主体部分的媒体类型。它告诉接收方如何解析和处理主体部分的数据。HTTP协议是互联网的核心协议之一,协议头部中的数据类型字段(Content-Type)在HTTP通信中起着重要的作用。

博客 673

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HTTP协议头字段

一、基础篇 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成

carterjin的专栏 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

HTTP协议头详解

 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功

caojunling的专栏 3万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

笔记:常见网络协议的协议头-TCP、UDP、HTTP、IP、ARP

一、TCP协议头: 长度单位:4字节 固定头长:5个单位,固定头组成: 1)半源、半目、一顺、一确 2)4位长、6位保留6位标(紧确推重同结) 3)半窗、半验、半指针 可选头:4位长度单位说明可选头最多:15 - 5 = 10(长度单位),可选头按照”TLV“的格式进行填充数据 二、UDP协议头: 长度单位:4字节 仅固定头:2个单位,固定头组成: 1)半源、半目、半包长、半校验 三、IP...

weixin_46691179的博客 2533

第207天:HTTP协议头字段详解大全

本篇重点介绍一下HTTP常用的Header HTTP Header非常之多,很少有人能完全分清这些Header到底是干什么的。鉴于RFC文件规范艰深晦涩难懂,本文对协议规范中列出的HTTP Header进行了梳理,用通俗的语言进行表达,便于读者吃透HTTP协议。 1、Accept 表示客户端期望服务器返回的媒体格式。客户端期望的资源类型服务器可能没有,所以客户端会期望多种类型,并且设置优先级...

lelara的博客 365

HTTP协议头域详解

HTTP协议头域详解 Requests部分 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接...

qq_29069777的博客 539

http协议头详解,更新中

最近测试浏览器,需要设计测试浏览器的http协议部分,因为之前对协议本身了解不够,设计测试用例还真无从下手,所以看了下rfc2068协议 下面都是http1.1标准协议,1.0可能部分不支持 着重看了下Header Field Definitions这章 注,多个值都是用逗号分开,每个数据里面用封号分开 参考:http://freesoft.org/CIE/RFC/2068

frankwangzy1103的专栏 6733

【SIP基础】SIP协议头

SIP协议头是SIP消息的重要组成部分,是表达信息传达指令的部分。它的结构由一系列报头字段组成。在大多数情况下,SIP头域与HTTP报头字段遵循相同的规则。头字段被定义为:字段(Header: field),其中Header就是用来表示头字段名称,field代表数值,包含着需要的信息。每个字段由一个字段名后跟一个冒号(“:”)和域值(即字段名:域值)。SIP协议头 - 紧凑形式很多常见的SIP报头字

VVSIP官网博客 2331

HTTP协议头部详解

HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编

lxinl的专栏 1677
上一篇: 基于Netty实现Redis协议的编码解码器
下一篇: HTTP协议冷知识大全
码洞
博客等级 码龄10年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值