一、响应报文格式

HTTP的响应报文的通用格式如下

主要包括状态行、首部行、空行和实体体,和请求报文的结构类似

示例

状态行

HTTP/1.1 200 OK\r\n

常见的状态码的类别如下

常用状态码及含义如下

200 OK;HTTP请求成功

404 Not Found;服务器上不存在请求的资源

304 Not Modified;服务器端资源未改变,可直接使用客户端未过期的缓存

首部行

Date: Fri, 08 Jan 2021 08:52:35 GMT\r\n
<Date: Fri, 08 Jan 2021 08:52:35 GMT\r\n>

Date字段表明创建HTTP报文的日期和时间

Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.13 mod_perl/2.0.11 Perl/v5.16.3\r\n
<Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.13 mod_perl/2.0.11 Perl/v5.16.3\r\n>

Server字段告知客户端当前服务器上安装的HTTP服务器应用程序的信息

上述报文的服务器信息是centos+Apache

Last-Modified: Fri, 08 Jan 2021 06:59:01 GMT\r\n
<Last-Modified: Fri, 08 Jan 2021 06:59:01 GMT\r\n>

首部字段Last-Modified指明资源最终修改的时间

示意图

ETag: "80-5b85e175214a7"\r\n

字段ETag用来告知客户端实体标识。该标识将资源以字符串形式表示。服务器会为每份资源分配对应的ETag值。另外,当资源更新时,ETag值也需要更新。

Etag通常和If-None-Match一起使用,当浏览器请求服务器的资源A时, 服务器根据A算出ETag返回给浏览器,浏览器把"3f80f-1b6-3e1cb03b" 和 A 同时缓存在本地。当下次再次向服务器请求A时,会通过If-None-Match把ETag发送给服务器,服务器再次计算A的哈希值并和浏览器返回的值做比较。如果发现A发生了变化,就把A返回给浏览器(200)。如果发现A没有变化,就给浏览器返回一个304未修改。这样通过控制浏览器端的缓存,可以节省服务器的带宽,因为服务器不需要每次都把全量数据返回给客户端。

示意图

Accept-Ranges: bytes\r\n

Accept-Ranges用来告知客户端服务器是否能处理范围请求。可指定的字段值有两种,可处理范围请求时指定其为bytes,反之则指定其为none。

示意图

Content-Length: 128\r\n
[Content length: 128] <Content-Length: 128\r\n>

字段Content-Length表明了实体体部分的大小,单位是字节

Content-Type: text/html; charset=UTF-8\r\n
<Content-Type: text/html; charset=UTF-8\r\n>

字段Content-Type说明了实体主体内对象的媒体类型。和字段Accept一样,字段值用type/subtype形式赋值。

参考

《图解HTTP》

《计算机网络自顶向下方法》

欢迎大家评论交流,作者水平有限,如有错误,欢迎指出

四、HTTP响应报文格式相关推荐

  1. http详解 请求报文格式和响应报文格式

    题外话: <Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元>相信过去BTC的人,信不信未来的PI,了解一下,唯一一个高度与之持平的项目 HTTP 工作原理 超文本传 ...

  2. HTTP 请求报文、响应报文格式详解

    HTTP请求报文格式: 图片只做参考 HTTP请求报文主要由请求行.请求头部.请求正文(附属体)3部分组成 1,请求行 由3部分组成,分别为:请求方法.URL(见备注1)以及协议版本,之间由空格分隔 ...

  3. Http请求报文格式和响应报文格式

    HTTP请求报文格式 客户端连上服务器后,向服务器发出获取某个Web资源的消息,称之为客户端向服务器发送了一个HTTP请求. HTTP请求报文主要由请求行.请求头部.请求正文3部分组成.例如,GET ...

  4. Wireshark 抓包分析 HTTP 请求、响应报文格式

    文章目录 报文结构 HTTP 请求报文的请求行 请求方法 GET/HEAD POST/PUT 其他方法 URI URI 的格式 URI 的编码 HTTP 响应报文的状态行 状态码 HTTP 请求.响应 ...

  5. HTTP报文结构详细讲解(HTTP请求报文和响应报文格式)

    HTTP报文结构 HTTP有两类报文: 请求报文-------从客户向服务器发送请求报文,如图6-12(a) 响应报文-------从服务器到客户的回答,如图6-12(b) 由于HTTP是面向文本的, ...

  6. 了解HTTP与B/S架构并熟悉浏览器开发者工具与请求报文和响应报文格式等【非常详细】

  7. HTTP请求/响应报文结构

    HTTP请求/响应报文结构 HTTP请求报文 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据. 1.请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它 ...

  8. HTTP请求/响应报文头部结构

    HTTP请求 一个HTTP请求由四个部分组成:请求行.请求头部.空行.请求数据. -请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data ...

  9. 【计算机网络】HTTP 与 HTTPS ( HTTP 发展过程 | HTTP/1.1 与 HTTP/2 对比 | HTTP 报文格式 )

    文章目录 前言 一.HTTP 发展过程 二.HTTP/1.1 与 HTTP/2 对比 三.HTTP 报文格式 前言 目前如果在浏览器中访问 http 网站 , 浏览器会提示不安全 , 如下图 : 如果 ...

最新文章

  1. 数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略
  2. 闭包,sync使用细节
  3. 线上环境 Linux 系统调用追踪
  4. html/jquery最实用功能与注意点
  5. 浅谈抖音下拉词框优化推广的优势
  6. 带着这篇去通关所有Handler的提问(三)
  7. HDU 1230解题报告
  8. java poi 合并单元格 边框显示不全
  9. Oracle VM VirtualBox的安装以及安装win 7系统
  10. 修改判断名字重复,保证名字唯一
  11. create table
  12. 全球与中国电力系统同步时钟市场深度研究分析报告
  13. 张掖百公里,再次折戟
  14. 读史使人明智,二混子带你漫画学历史~
  15. 开源轻量级企业内容管理系统-鱼跃CMS v2.0.0
  16. Ip探针_信息探针_社工查询个人信息php网站源码
  17. python面对对象建立自己的电子宠物的编码_父与子的编程之旅:与小卡特一起学Python(第3版)(全彩印刷)...
  18. 简单秒表计时器的制作
  19. WebLogic(12C)——WLST
  20. laravel的使用-模型和数据库基本操作

热门文章

  1. Oracle Database基础
  2. jquery获取对象
  3. Swift中一个类中的枚举(enum)类型的数据该如何实现序列化(NSCoder)
  4. SharePoint2013自定义登录页面
  5. 巧用FTP命令进行文件传输
  6. VS2010解决方案转换到VS2008
  7. Android开发之移动互联网周刊第二期,不错,推荐给大家
  8. JBPM对象主键生成机制
  9. TCP握手--(HTTP权威指南学习笔记)
  10. Hibernate 查询数据库中的数据