HTTP请求头部Content-Type字段

2023-11-12

研究HTTP请求头部的 Content-Type 字段,基于 Chrome 插件 DHC

1. GET 请求

GET 请求不存在请求实体部分,键值对参数放置在 URL 尾部,因此请求头不需要设置 Content-Type 字段

非 ASCII 码会自动进行编码转换,例如发送请求:www.bilibili.com?hehe=你的我的

GET /?hehe=%E4%BD%A0%E7%9A%84%E6%88%91%E7%9A%84 HTTP/1.1
Host: www.bilibili.com

值得一提的是,GET 参数的编码方式是无法人为干涉的,这导致了不同浏览器有不同的编码方式,因此最稳妥的方案是人工预编码,人工解码,从而禁止浏览器编码的干涉

2. POST 请求

第一类:raw 原始类型,可以上传任意格式的文本,比如 text、json、xml、html(中文不进行编码)

①text 请求

POST / HTTP/1.1
Host: www.bilibili.com
Content-Type: text/plain
Content-Length: 44
ALARM=hellowww&&adzdzd12323...22你的我的

②json 请求

POST / HTTP/1.1
Host: www.bilibili.com
Content-Type: application/json
Content-Length: 44
ALARM=hellowww&&adzdzd12323...22你的我的

③html 请求

POST / HTTP/1.1
Host: www.bilibili.com
Content-Type: text/html
Content-Length: 44
ALARM=hellowww&&adzdzd12323...22你的我的

第二类:application/x-www-form-urlencoded,会将表单内的数据转换拼接成 key-value 对(非 ASCII 码进行编码)

发送 POST 请求,参数为:aaa=aaa,bbb=你的我的

POST / HTTP/1.1
Host: www.bilibili.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 48
aaa=aaa&bbb=%E4%BD%A0%E7%9A%84%E6%88%91%E7%9A%84

从这里可以看出,application/x-www-form-urlencoded 对非 ASCII 的编码方式与 GET 请求参数的编码方式和格式都是一样的

值得一提的是,POST 请求的编码格式是可以人工干预的:在 form 表单所在的 html 文件里如果有段 ,那么 post 就会用此处指定的编码方式编码,JSP 也有类似的声明方式;开发人员可以用此来指定 POST 请求的编码格式

第三类:multipart/form-data,将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件

发送 POST 请求,参数为:aaa=aaa,bbb=你的我的啊啊啊,file=图片

POST / HTTP/1.1
Host: www.bilibili.com
Content-Type: multipart/form-data;boundary=------FormBoundary15e896376d1
Content-Length: 19532
------FormBoundary15e896376d1
Content-Disposition: form-data; name="aaa"
aaa
------FormBoundary15e896376d1
Content-Disposition: form-data; name="bbb"
你的我的啊啊啊
------FormBoundary15e896376d1
Content-Disposition: form-data; name="file"; filename="cat-icon.png"
Content-Type: image/png
[message-part-body; type:image/png, size:19201 bytes]
------FormBoundary15e896376d1--

可以看到,中文并没有被编码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP请求头部Content-Type字段 的相关文章

  • 如何在 div 容器内的元素之间留出空间

    我有一个弹性容器 它将由元素动态填充 容器没有固定宽度 I use max width max content 并且可以包含我想要的任意数量的元素 问题是我需要这些元素之间的间距 但不需要元素和容器之间左侧和右侧的间距 当然我可以用 ele
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 有没有办法在 html 图像标签中显示位图数据? [复制]

    这个问题在这里已经有答案了 有没有办法在 HTML 元素中显示位图图像数据 例如 您有一个指向源文件的常规图像 如下所示 img src myImage png width 100 height 100 有没有这样的事情 img width
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 文本后面有粗下划线

    如何使用 span 和 css 在文本 ABC 后面重现这种下划线 我已经能够做下划线below嵌套的文本span和彩色的border bottom 但无法获取behind图像和above文本基线 p style font size 48p
  • 使用 实现可访问性的更好做法是什么?

    我有一个下载链接 但我找不到任何良好的可访问解决方案来说明如何处理这种情况 我遵循一个共同的经验法则 按钮做事 链接去地方 我的情况是 我有一个触发文档下载的按钮 同一页面 我相信这应该是一个具有按钮角色的锚点 因为它明确不触发重定向或导航
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • 如何指定网站的语言? (HTML?)

    如何指定页面采用某种语言以便搜索引擎可以理解 这是我放在顶部的元标记吗 如果是 您知道大多数搜索引擎是否使用它来确定语言吗 我已将一页英文内容转换为几种不同的语言 并希望将该信息包含在 html 中 让搜索引擎知道他们正在处理哪种语言 快速
  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 保持未知数量的 div 居中,每行最多 4 个

    我有一个简单的问题 但我自己无法解决 简而言之 有一个未知电话我必须在页面中放置的元素数量 最多 每行 4 个元素 但仍居中 此图片给您一个提示 我为了示例而设置它 详细 在上图中我涵盖了不同的场景 例如 如果总共有 5 个元素 则应使用第
  • 避免响应式页面的重复内容

    我目前正在做一个涉及响应式设计的项目 整个布局应该使用HTML和CSS来实现 我知道可以使用 java 脚本将内容从一个列布局移动到另一列布局 而无需复制内容 但是使用 HTML 和 CSS 是否可以实现相同的效果 以下面的例子为例 它会在
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 更改文本输入标签中文本的大小?

    我有一个很大的文本输入框 但我无法更改字体大小
  • Schema.org 的常见问题解答页面

    我有一个常见问题解答页面 我想用更好的 html 架构来实现它
  • 如何在 AngularJS 循环内使用标签

    所以我在里面ng repeat像这样 li li
  • CSS 是否有不等于选择器?

    CSS中有类似 不等于 的东西吗 例如 我有以下代码 input 但对于某些输入 我需要将其作废 我想通过将类 reset 添加到输入标签来做到这一点 例如

随机推荐

  • 【JavaScript高级程序设计】重点-第五章笔记:Date、RegExp、原始值包装类、单例内置对象

    文章目录 基本引用类型 1 Date 1 1 继承的方法 1 2 日期格式化方法 1 3 日期 时间组件方法 2 RegExp正则表达式 2 1 RegExp 实例属性 2 2 RegExp 实例方法 2 3 RegExp 构造函数属性 3
  • 【Dev-C++】的dos控制台窗口大小设置

    可以使用system 接口直接修改 例 include
  • Spring 集成OpenOffice

    第一步 openoffice jar包依赖
  • 安卓scale动画fromDegrees toDegrees解释

    注意以下实验都是相对于自己 0 0f 上 1 0f 下 如果想了解安卓scale动画pivotX 请点击这里 在安卓中 fromDegrees是开始的角度 toDegrees是介绍的角度 其中X轴右面是0度 如果toDegrees比from
  • 【JS组件篇】使用拖拽组件 react-beautiful-dnd 实现工作台自定义布局功能

    项目要求 制作工作台页面 模块可根据后端配置动态展示 各模块可根据个人喜好进行拖拽布局 并保存 大致效果如下 大致实现步骤 整体布局 首先需要对设计稿进行分析 大致分为左右两部分 可根据后端配置动态展示左右两模块的展示内容 各模块相对独立
  • C++内存管理(2)new、delete详解

    目录 new operator new操作 new类对象时加不加括号的差别 new工作任务 delete工作任务 new和delete 堆区空间操作 对比malloc和free new和delete操作基本类型的空间 new和delete操
  • Direct3D纹理映射

    借助纹理映射技术 我们可将图像数据映射到三角形单元中 这种功能可以显著地增加所绘制场景的细节和真实感 例如创建一个立方体然后为其每个面映射一个板条纹理 从而将该立方体变为一个板条箱 在Direct3D中纹理用接口IDirect3DTextu
  • python判断工作日,节假日

    python判断工作日 节假日 模块 chinesecalendar 爬虫式的方法 模块 pandas 实例 模块 chinesecalendar 针对中国的节假日 强烈推荐 https pypi org project chineseca
  • 王道考研计算机网络第二章--物理层

    目录 2 1通信基础 2 1 1物理层基本概念 1物理层基本概念 2 1 2数据通信基础知识 1典型的数据通信模型 2数据通信相关术语 3三种通信方式 4两种数据传输方式 2 1 3码元 波特 速率 带宽 1码元 2速率 波特 带宽 2 1
  • 被入侵了怎么办?暴力破解被篡改了数据,该怎么处理?主机安全不容忽视

    主机安全关系着整个服务器数据的一个安全性 那么主机安全具体指什么呢 指保证主机在数据存储和处理的保密性 完整性 可用性 它包括硬件 固件 系统软件的自身安全 以及一系列附加的安全技术和安全管理措施 从而建立一个完整的主机安全保护环境 我们进
  • Kubernetes: K8S 容器集群管理系统

    虚拟机 gt 容器技术 传统部署 直接将应用程序部署在物理机上 虚拟机 vmware openstack 可以在操作系统中模拟出多台子电脑 Linux 子电脑之间是相互隔离的 独立 但是虚拟机存在启动慢 占用空间大 不易迁移的缺点 容器化技
  • openCV与freetype解决图片叠OSD的问题

    一 移植OPENCV3 4 1库 opencv 3 4 1 tar gz 功能 实现对图片的处理 移植文档见 正点原子 I MX6U 移植 OpenCV V1 3 注意版本 注意 安装交叉编译工具 注意 这里不能使用 NXP yocto 所
  • Oracle 12 创建数据库

    安装完oracle数据库软件后 就可以创建oracle数据库了 具体步骤如下 1 打开命令行 输入命令 dbca 通过它 我们可以对数据库进行管理 2 之后便会显示如下图所示的界面 点击下一步 3 进入配置数据库的界面 需要注意的是 a 全
  • ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统

    资产灯塔 不仅仅是域名收集 https github com TophantTechnology ARL 简介 旨在快速侦察与目标关联的互联网资产 构建基础资产信息库 协助甲方安全团队或者渗透测试人员有效侦察和检索资产 发现存在的薄弱点和攻
  • Notepad++查看hex文件

    一 打开插件 插件管理 二 找一下有没有一个hex开头的插件 有的话就安装它 然后重启软件 三 装完之后 插件里面就会出现下面这个东西 下面那张图百度上找的 我的里面找不到这个插件 四 如果找不到的话上github下一个 https git
  • 【Python网络爬虫与信息提取】Request+BeautifulSoup

    1 Request库 import requests r requests get https www baidu com print r status code print type r print r headers print r e
  • 使用R语言进行单因素方差分析(ANOVA)是一种常用的统计方法,它用于比较多个样本的均值是否存在显著差异

    使用R语言进行单因素方差分析 ANOVA 是一种常用的统计方法 它用于比较多个样本的均值是否存在显著差异 在R语言中 可以使用aov 函数来执行单因素方差分析 本文将详细介绍如何使用aov 函数进行单因素方差分析 并提供相应的源代码示例 假
  • Linux操作系统之mysql数据库简介

    文章目录 数据库的介绍 有关数据库的操作 有关数据表的操作 C语言访问mysql 事务 视图 索引 数据库的介绍 mysql数据库模型 关系型数据库与非关系型数据库 关系型数据库 指采用了关系模型来组织数据的数据库 关系模型就是指二维表格模
  • 爬虫实验笔记

    这里的爬虫实验害暂时没有遇到验证码等问题 步骤可以简单概括为 1 找到爬虫必要的信息 2 内容提取 3 将提取到的内容保存至xlsx文件 1 找到爬虫必要的信息 以zh为例 首先找一个自己感兴趣的贴 进入开发者模式 刷新 网络抓包 这个时候
  • HTTP请求头部Content-Type字段

    研究HTTP请求头部的 Content Type 字段 基于 Chrome 插件 DHC 1 GET 请求 GET 请求不存在请求实体部分 键值对参数放置在 URL 尾部 因此请求头不需要设置 Content Type 字段 非 ASCII