参考:老张http协议(六)报文首部

报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变

报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据

比如里面有报文类型,报文版本,报文长度,报文实体等等信息

首先来看看报文结构吧

1、http请求报文
http请求报文由方法、URI、http版本。http首部字段等构成

下面给大家示例一个访问my_view_page.php的请求报文首部信息
GET /my_view_page.php HTTP/1.1
Host: 10.0.17.183:8000
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://10.0.17.183:8000/my_view_page.php
Accept-Encoding: gzip, deflate, sdch
关于报文的首部信息,稍微详解2、http响应报文
http响应报文由http版本、状态码(数字和原因短语)、http首部字段3部分组成

以下是刚才访问my_view_page.php时服务器返回的响应报文首部信息:
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Date: Tue, 26 Jul 2016 09:32:11 GMT
Expires: Tue, 26 Jul 2016 09:32:12 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3892
Content-Type: text/html; charset=utf-8
Last-Modified: Tue, 26 Jul 2016 09:32:12 GMT
报文中含有众多的字段,其中又以http首部字段内容最丰富,其同时存在于请求和响应中,并涵盖http报文相关的内容3、http首部字段
定义:构成http报文的要素之一,在客户端与服务器之间以http协议传输信息的过程中,起到传递额外重要信息的作用3.1首部字段结构
首部字段名:字段值
例如:以Content-Type来表示报文主体的对象类型
Content-Type:text/html
另外,字段值对应的单个http首部字段可以有多个值,比如
Keep-Alive:timeout=15,max=1003.2 4种http首部字段类型
http1.1规范了47种首部字段3.2.1 通用首部字段
定义:请求和响应报文都会使用的首部

3.2.2 请求首部字段
从客户端向服务器发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、相应内容相关优先级信息

3.2.3 响应首部字段
从服务器向客户端返回响应报文时使用的首部。补充了资源内容更新时间等与实体有关的信息

3.2.4 实体首部字段
针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间与实体有关的信息

3.2.5 End-to-end首部和Hop-by-hop首部
http首部字段将定义成缓存代理和非缓存代理的行为,分成2种类型端到端首部(End-to-end Header)
此类别中的首部会转发给请求/响应对应的最终接受目标,而且必须保存在由缓存生成的响应中,另外规定它必须被转发。逐跳首部(Hop-by-hop Header)
此类别中的首部只对单次转发有效,会因通过缓存或代理而不再转发;http1.1和之后的版本,如要使用该首部,需提供Connection首部字段。
下面列举下http/1.1中的逐跳首部字段,除了这8个,其他所有字段都属于端到端首部。
Connection:
Keep-Alive
Proxy-Authenticate
Proxy-Authorization
Trailer
TE
Transfer-Encoding
Upgrade


http accept字段有用吗_http协议(六)报文首部相关推荐

  1. 一篇文章带你详解 HTTP 协议之报文首部及字段详解(中)

    在上一篇中,我们已经讲解了一到五的内容,还没看过的可以先看, 下面接着讲剩余内容: 六.HTTP 报文首部之首部字段(重点分析) 七.HTTP 响应状态码(重点分析) 八.HTTP 报文实体 九.与 ...

  2. 302状态码_HTTP协议详解(基础概念 方法 状态码 首部 连接 Cookie 新特性 安全)

    一 .基础概念 URI URI 包含 URL 和 URN. 请求和响应报文 1. 请求报文 2. 响应报文 二.HTTP 方法 客户端发送的 请求报文 第一行为请求行,包含了方法字段. GET 获取资 ...

  3. http协议_HTTP 协议入门

    来源:阮一峰的网路日志 作者:阮一峰 HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HT ...

  4. http协议建立在以下哪一个协议的基础上_HTTP协议梳理

    首先,HTTP协议是一个应用层协议,我们在此基础上展开. 1.HTTP协议的前世今生 网络本质上就是在交换数据.在早期,端系统之间交换数据信息的数据网有很多,因特网作为其中的一种实质上并不突出.而因特 ...

  5. 二、大话HTTP协议-HTTP报文结构整体窥探

    在了解了HTTP的前世今生后,就有必要去深入了解下HTTP协议了,本节从HTTP报文整体结构出发,奠定对HTTP协议的整体认识,方便今后的深入学习. 一.HTTP协议特点 HTTP的特点总结如下: 支 ...

  6. TCP协议中报文详解

    TCP协议中报文SYN.ACK.FIN.RST.PSH.URG详解 1. SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接: 2. ACK:请求/应答状态.0为请求,1为 ...

  7. HTTP报文首部字段

    HTTP报文首部@TOC #一.http报文首部结构 ##1.结构 ##2.请求报文构成 eg: ##3.http响应报文 #二.HTTP首部字段结构 首部字段名:字段值 eg:ConTent-Typ ...

  8. HTTP 报文首部之首部字段(重点分析)

    文章目录 1.首部字段概述 2.首部字段结构 3.首部字段类型 4.通用首部字段(HTTP/1.1) 4.1 Cache-Control 4.1.1 可用的指令一览 4.1.2 表示能否缓存的指令 4 ...

  9. 【学习笔记】传输层:TCP协议(报文段、连接管理{握手}、可靠传输、流量控制、拥塞控制)

    文章目录 一. 协议特点 & 报文段 ① 特点 ② 报文段首部格式 二. TCP连接管理 ① 建立联系(三次握手) SYN洪泛攻击 ② 连接释放(四次挥手) 三. TCP流量控制 ① 序号 ② ...

最新文章

  1. Cell子刊:建立因果关系-合成菌群在植物菌群研究中的机会
  2. ​新型支架状电极允许人类思想操作计算机
  3. ML-kNN 多标签k近邻算法 MLL Week 1
  4. C++中在什么时候需要使用“常引用”?
  5. 搭建认证服务器 - Spring Security Oauth2.0 集成 Jwt 之 【授权码认证流程】 总结
  6. 主流mes厂商_MES市场的前景
  7. oracle通过sid远程登录,oracle怎么捕获用户登录信息,如SID,IP地址等
  8. 判定点是否在不规则多边形内部的问题
  9. Kotlin 基础 - 数据类型
  10. Google Maps API 进级:在信息窗口GInfoWindow中嵌入Flash动画
  11. C语言究竟是一门怎样的语言?
  12. python经典程序-python经典趣味24点游戏程序设计
  13. 用阿里云盘,找不到资源怎么办???
  14. 理想费米气体的量子统计推导
  15. uniapp uni-swipe-action 滑动删除
  16. Resend messages one by one
  17. 【表格合并单元格】vue-elementul表格动态合并实现方法,合并行,合并列方法【详细讲解,看完就理解】
  18. 两段视频合成一个视频用什么软件 怎么把两段视频合成一段看不出来
  19. 沉睡者IT:零基础学习短视频与+玩转抖音快手
  20. Shell脚本实现自动检测/配置/开启/关闭redis后台服务

热门文章

  1. Java中对List集合api展示
  2. Android设备 D获取,如何获取Android设备名称(常用ADB命令介绍)
  3. sqlserver 导入mysql,在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合...
  4. [Unity脚本运行时更新]C#6新特性
  5. OpenShift 4 之 GitOps(8)用ArgoCD实现的应用迁移、金丝雀部署、DR
  6. 围绕sqlite构建一个简单的Typescript ORM
  7. 使用构建器模式来帮助您的单元测试
  8. (一)深度伪造的视频人脸传输
  9. 解决重复出现问题的 (LINQ) 方法示例
  10. Windows终端中的自定义终端和用户界面(UI)