当前位置: 首页 > news >正文

计算机网络的故事——HTTP报文内的HTTP信息

HTTP报文内的HTTP信息

文章目录

  • HTTP报文内的HTTP信息
  • 一、HTTP 报文
  • 二、请求报文及响应报文的结构
  • 三、编码提升传输速率


一、HTTP 报文

HTTP报文是由多行(CR+LF作换行符)数据构成的字符串文本,HTTP报文可以分为报文首部和报文主体两部分,两者起初是由(CR+LF)划分的,通常并不一定有报文主体。
在这里插入图片描述

二、请求报文及响应报文的结构

在这里插入图片描述
报文中的参数解释:
请求行:包含请求方法、请求URI和HTTP版本。
状态行:响应状态码、原因短语和HTTP版本
首部字段一般有四种:通用首部、请求首部、响应首部和实体首部

三、编码提升传输速率

类似于发送邮件内增加附件时,为了使邮件变小,会使用ZIP压缩文件之后再进行传输。HTTP协议中存在内容编码也有类似的功能,进行实体内容编码。
客户端负责解码,常用的内容编码:gzip(GNU zip)、compress(UNIX系统中的标准压缩)
分割发送的分块传输编码:把实体主体分块的功能称为分块传输编码,分块传输编码分为多个块,每个块都会用十六进制来标记块的大小,最后一个块会用”0(CR+LF)”来标记。
在这里插入图片描述
发送多种数据的多部分对象集合:类似于邮件传输的MIME(Multipurpose Internet Mail Extemsions)功能,HTTP也采用了多部分对象集合,发送一个报文时可以含有多个类型实体,通常是图片或者文件上传时使用。
multipart/form-data用于web表单上传文件时使用
multipart/byteranges状态码206响应报文包含多个范围内容时使用
multipart/form-data、multipart/by,在使用字符串来分割实体之前要插入“–”标记进行分割。

在这里插入图片描述
获取部分内容的请求范围:可以获取资源的部分内容,适用于断开之后从接受了资源处开始继续请求资源,指定范围请求
对一份 10 000 字节大小的资源,如果使用范围请求,可以只请求 5001~10 000 字节内的资源。

内容协商:返回最合适的内容,涉及到浏览器默认语言、字符集、编码等设置,请求服务器会返回最适合的内容
包含在请求报文中的某些首部字段就是判断的基准,如:Accept、Accept-Charset、Accept-Encode、Accept-Language、Content-Language
内容协商技术:服务器驱动协商:由服务器进行内容协商
客户端驱动协商:由客户端进行内容协商的方式。用户从浏览器的可选列表中手动选择。
透明协商:由服务器和客户端驱动的结合体


相关文章:

计算机网络的故事——HTTP报文内的HTTP信息

HTTP报文内的HTTP信息 文章目录 HTTP报文内的HTTP信息一、HTTP 报文二、请求报文及响应报文的结构三、编码提升传输速率 一、HTTP 报文 HTTP报文是由多行(CRLF作换行符)数据构成的字符串文本,HTTP报文可以分为报文首部和报文主体两部分&…...

CF1120 D. Power Tree 巧妙的图论转化

传送门 [前题提要]:无 题目描述: 就是给你一棵树,然后每个点有花费,然后你可以选一个点,付费后对这个点的子树的所有叶子结点增减任意权值. 考虑有一个人会给这棵树的所有叶子结点赋值(值我们不知道),输出最小的花费,使得无论它如何赋值,我们使用上述的花 费都能使所有的叶子…...

【算法训练-字符串 三】最长公共子串、最长公共子序列

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【】,使用【】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为:目标公…...

lintcode 1446 · 01矩阵走路问题 【两次BFS, VIP 中等 1也计算距离,但是不入队列】

题目链接,描述 https://www.lintcode.com/problem/1446 给定一个大小为 n*m 的 01 矩阵 grid ,1 是墙,0 是路,你现在可以把 grid 中的一个 1 变成 0,请问从左上角走到右下角是否有路可走?如果有路可走&am…...

第一个实例:QT实现汽车电子仪表盘

目录 1.实现效果 1.1.视频演示 1.2.实现效果截图 2.生成的安装程序 3.功能概述 4.具体实现 5.QT扩展介绍 5.1.QT介绍 5.2.QT历史发展 5.3.QT平台支持 5.4.Qt Creator 5.5.优势 5.5.1.优良的跨平台特性 5.5.2.面向对象 5.5.3.丰富的 API 1.实现效果 1.1.视频演…...

【MySQL系列】MySQL的事务管理的学习(一)_ 事务概念 | 事务操作方式 | 事务隔离级别

「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、事务概念二、事务的版本支持三、事务提交方式四、事务常见的操作方式4.1 事务正常操作4.2 事务异常验证 五、事务隔离级别5.1 查看与设置隔离性5.2 读未提交&…...

扫地机器人还能创新吗?云鲸给了个Yes

作者 | 辰纹 来源 | 洞见新研社 1996年,瑞典家电巨头伊莱克斯推出全球首款扫地机器人“三叶虫”。 与现在的产品相比,“三叶虫”靠随机碰撞的模式对空间进行清扫,清洁效率很低,市场渗透率也不高,但并不妨碍戴森、iRo…...

PHP NBA球迷俱乐部系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP NBA球迷俱乐部系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 基于PHP的NBA球迷俱乐部 二、功能介绍 1、前台主要功能: 系统首页 网站介…...

JavaScript-----DOM元素

目录 前言: 1. DOM介绍 2. 获取节点 3. 操作HTML内容 4. 监听事件 案例 5. 操作节点的标签属性 6. 操作样式 7. 创建、添加、删除节点 前言: 在此之前我们要想去操作网页元素一般是去通过CSS选择器实现的,今天我们就学习JavaScript里…...

激光切割机在船舶行业的的应用有哪些

我国享有世界工厂的美誉,是全球制造业的主力。然而,在船舶制造的关键技术领域,我国的研发投入不足,技术进步仍滞后,我国高端船舶制造的实力仍显不足。 在我国制造业全面复苏的当前背景下,“精准制作”正构成…...

AFL++模糊测试

一、AFL 这里我们主要使用AFL Fuzzing 测试IOT的二进制文件,当我们解压提取一个固件时,能够获得大量的IOT二进制应用 ,如果要进行漏洞挖掘则需要将二进制文件进行逆向分析,然后查找危险函数以及输入接口,对于一个大型的…...

C# 使用ListBox及Picturebox显示所选的任意路径文件夹下的图像

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System...

数据库: 存储过程

sql server begin end用法: SQL Server中的BEGIN END用法是用于定义一个代码块,这个代码块可以包含多个SQL语句,BEGIN END通常用于控制流程语句,例如IF语句、WHILE语句、TRY CATCH语句等。在BEGIN END代码块中,可以使用变量、函数…...

【juc】ReentrantReadWriteLock之缓存(仅当学习)

目录 一、说明二、代码示例2.1 pom依赖2.2 示例代码2.3 实体类 三、示例截图 一、说明 1.针对于读多写少的情况 2.先查缓存&#xff0c;没有再去查库 二、代码示例 2.1 pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"h…...

FLUX查询InfluxDB -- InfluxDB笔记三

1. 入门 from(bucket: "example_query") // 没有筛选条件直接查询会报错|> range(start: -1h) // |>是管道符&#xff0c;后跟筛选条件 2. 序列、表和表流 序列是InfluxDB的概念&#xff0c;一个序列是由measurement、标签集、一个字段名称 表流是FLUX为了…...

pico学习进程记录已经开发项目

Pico pin脚定义 Pico 运行准备 下载uf2文件 https://pico.org.cn/ &#xff08;注意运行micropython的文件和运行c/c的不一样&#xff09; 装载uf2文件&#xff1a;按住pico的按键&#xff0c;然后通过micro usb连接电脑&#xff08;注意&#xff1a;如果用的线材&#xff0c…...

C++(20):多重继承与虚继承

多重继承 是指从多个直接基类中产生派生类的能力。多重继承的派生类继承了所有父类的属性。 多重继承 在派生类的派生列表中可以包含多个基类&#xff1a; class Bear : public zooAnimal { class Panda : public Bear, public Endangered{/* ...*/};每个基类包含一个可选的…...

Vue + Element UI 前端篇(一):搭建开发环境

Vue Element UI 实现权限管理系统 前端篇&#xff08;一&#xff09;&#xff1a;搭建开发环境 技术基础 开发之前&#xff0c;请先熟悉下面的4个文档 vue.js2.0中文, 优秀的JS框架vue-router, vue.js 配套路由vuex&#xff0c;vue.js 应用状态管理库Element&#xff0c;饿…...

系统错误码指示确立+日志模块手动配置

1&#xff0c;系统错误码指示确立 对于前后端分离的系统设计中&#xff0c;后端建立错误码指示对于前端非常重要可以指示错误存在地方&#xff1b;以用户注册为例&#xff1b; public interface SystemCode{int SYSTEM_USER_ERROR_ADD_FAIL 10000;int SYSTEM_USER_INFO_ADD …...

Java入门第三季

一、异常与异常处理 1. 异常简介 在Java中&#xff0c;**异常是程序在执行过程中出现的问题或意外情况&#xff0c;导致程序无法按照预期的流程进行。**异常处理是Java中用于处理程序中出现的异常的一种机制。 Java中的异常可以分为两大类&#xff1a;受检查的异常&#xff…...

告别复制粘贴!用Qwen Code在终端里直接重构500行烂代码(附真实项目截图)

告别复制粘贴&#xff01;用Qwen Code在终端里直接重构500行烂代码&#xff08;附真实项目截图&#xff09; 接手一个满是技术债的项目&#xff0c;就像走进一间多年无人打扫的仓库——到处是随意堆放的代码、重复的逻辑、难以理解的函数命名。更糟的是&#xff0c;传统的AI辅助…...

Phi-3-mini-128k-instruct快速部署:Anaconda环境配置与模型调用详解

Phi-3-mini-128k-instruct快速部署&#xff1a;Anaconda环境配置与模型调用详解 你是不是也遇到过这种情况&#xff1a;看到一个很酷的AI模型&#xff0c;想赶紧试试&#xff0c;结果被各种环境依赖、版本冲突搞得头大&#xff1f;别担心&#xff0c;今天咱们就来搞定Phi-3-mi…...

Scarab:重构空洞骑士模组管理体验的技术实践

Scarab&#xff1a;重构空洞骑士模组管理体验的技术实践 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 问题溯源&#xff1a;模组管理的隐性成本与技术瓶颈 量化手动管理的效…...

UniApp跨平台开发入门:用现有Vue代码快速生成小程序/App(2023最新版)

UniApp跨平台开发实战&#xff1a;2023年Vue代码高效迁移指南 移动互联网时代&#xff0c;开发者常面临一个核心挑战&#xff1a;如何用最小成本将Web应用扩展到移动端。如果你手头已有成熟的Vue项目&#xff0c;UniApp可能是最经济的跨平台解决方案——它允许你复用80%以上的现…...

基于STM32的智能药箱系统开发实战:从硬件搭建到云端互联

1. 为什么需要智能药箱 记得去年我奶奶因为忘记吃药导致血压飙升住院&#xff0c;当时我就在想&#xff0c;如果能有个自动提醒吃药的装置该多好。后来发现这个问题其实困扰着很多家庭——据统计&#xff0c;65岁以上老年人中&#xff0c;有超过60%存在漏服、错服药物的情况。这…...

3个关键场景与4步操作:深入解析RevokeMsgPatcher防撤回工具的技术实现与应用实践

3个关键场景与4步操作&#xff1a;深入解析RevokeMsgPatcher防撤回工具的技术实现与应用实践 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目…...

QRCoder:开发者必备的二维码生成解决方案全攻略

QRCoder&#xff1a;开发者必备的二维码生成解决方案全攻略 【免费下载链接】QRCoder A pure C# Open Source QR Code implementation 项目地址: https://gitcode.com/gh_mirrors/qr/QRCoder 在数字化时代&#xff0c;二维码已成为信息传递的重要桥梁&#xff0c;但如何…...

Zend Framework错误处理与日志记录终极指南:10个构建稳定生产环境的技巧

Zend Framework错误处理与日志记录终极指南&#xff1a;10个构建稳定生产环境的技巧 【免费下载链接】zendframework Official Zend Framework repository 项目地址: https://gitcode.com/gh_mirrors/ze/zendframework Zend Framework作为一款成熟的PHP开发框架&#xf…...

单片机抢答器项目避坑指南:从按键抖动处理到中断优先级设置

单片机抢答器项目避坑指南&#xff1a;从按键抖动处理到中断优先级设置 在嵌入式系统开发中&#xff0c;抢答器是一个经典的教学项目&#xff0c;但看似简单的功能背后却隐藏着许多技术细节。很多开发者在实现基本功能后&#xff0c;往往会忽略一些关键优化点&#xff0c;导致系…...

从YOLO到A*:手把手教你用PyTorch和OpenCV搭建一个简易的自动驾驶避障仿真器

从YOLO到A*&#xff1a;用PyTorch和OpenCV构建自动驾驶避障仿真器 想象一下&#xff0c;你正坐在一辆自动驾驶汽车里&#xff0c;车辆能够自动识别前方的行人、车辆和障碍物&#xff0c;并规划出安全的行驶路径。这种看似科幻的场景&#xff0c;如今正逐渐成为现实。本文将带你…...