第3章 HTTP 报文内的 HTTP 信息

  1. 用于 HTTP 协议交互的信息称为 HTTP 报文:请求报文和响应报文

  1. HTTP 在传输数据时通过编码可以提升速率,能有效的处理大量数据,但是会消耗更多的CPU等资源。

  2. 分块传输编码:在传输大容量数据时,服务器会把数据分割成多块,让浏览器逐步显示页面。客户端收到数据后解码显示。

  3. 多部分对象集合:发送的一份报文主体包含多种类型实体(图片、文本等)

  4. 范围请求:指定请求下载的实体范围
    执行范围请求时,会用到首部字段 Range 来指定资源的 byte 范围。
    针对范围请求,响应会返回状态码为 206 Partial Content 的响应报文。
    如果服务器不支持范围请求,会返回状态码为 200 OK 和完整的实体内容。

  5. 内容协商

    内容协商机制:客户端和服务器端就响应的资源内容进行协商,然后提供给客户端最适合的响应内容。内容协商会以响应资源的语言、编码方式、字符集等作为判断依据。

    内容协商技术:
    服务器驱动协商、客户端驱动协商、透明协商(服务器+客户端)

《图解 HTTP 》阅读 —— 第三章的更多相关文章

  1. Unity文档阅读 第三章 依赖注入与Unity

    Introduction 简介In previous chapters, you saw some of the reasons to use dependency injection and lea ...

  2. 《图解HTTP》阅读笔记--第二章 简单的HTTP协议--第三章 HTTP报文信息

     第二章.简单的HTTP协议HTTP协议:HTTP协议用于客户端(请求资源的一端)和服务器端(响应回复提供资源的一端)的通信,是一种无状态协议HTTP1.1默认TCP持久连接,管线化发送(并行发送多个 ...

  3. Kafka 权威指南阅读笔记(第三章,第四章)

    Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...

  4. 《Interest Rate Risk Modeling》阅读笔记——第三章:拟合期限结构

    目录 第三章:拟合期限结构 思维导图 扩展 第三章:拟合期限结构 思维导图 扩展 NS 模型的变种

  5. 《Go语言圣经》阅读笔记:第三章基础数据类型

    第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. Python黑帽编程3.0 第三章 网络接口层攻击基础知识

    3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 (19) -----第三章 查询之使用位操作和多属性连接(join)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-16  过滤中使用位操作 问题 你想在查询的过滤条件中使用位操作. 解决方案 假 ...

  9. 精通Web Analytics 2.0 (5) 第三章:点击流分析的奇妙世界:指标

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第三章:点击流分析的奇妙世界:指标 新的Web Analytics 2.0心态:搞定它.新的闪亮系列工具:是的.准备好了吗?当然 ...

随机推荐

  1. PAT——1047. 编程团体赛

    编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队. 输入格式: 输入第一行给出一个正 ...

  2. 【Step By Step】将Dotnet Core部署到Docker下

    一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWor ...

  3. Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置改动及測试步骤

    測试环境:Oracle Enterprise Linux 64-bit (5.8版本号) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/ora ...

  4. Backward compatibility

    向后兼容

  5. [原创]HBase学习笔记(2)- 基本操作

    1.使用hbase shell连接hbase 2.输入help可以查看帮助 3.输入list查看当前hbase中的所有表 4.使用create创建表test 其中test是表名,cf是列族.该表只创建 ...

  6. js获取当前时间并转化

    1.转化为  年月日 function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var ...

  7. C# char[]与string互相转换的两种方法

    1.string转换为char[]:char[] string.ToCharArray(); static void Main(string[] args)        {            s ...

  8. vue中点击添加class,双击去掉class

    VUE中 html 中 <ul id="shoppingList" v-on:click="addClass($event)" class="i ...

  9. PHP 好用第三方库

    PHP 好用第三方库 whoops 更好的php错误报告库 [github]:https://github.com/filp/whoops Whoops是一个易于处理和调试错误的PHP库 .它提供基于 ...

  10. PHP代码优化—getter 和 setter

    PHP中要实现类似于Java中的getter和setter有多种方法,比较常用的有: 直接箭头->调用属性(最常用),不管有没有声明这个属性,都可以使用,但会报Notice级别的错误 $dog ...