content-type几种常见类型区别

news2024/11/26 10:29:44

Content-Type叫做MIME(mediaType)类型,使用Content-Type来表示请求和响应中的媒体类型信息。如果是请求头,它用来告诉服务端如何处理请求的数据,如果是响应头,它用来告诉客户端(一般是浏览器)如何解析响应的数据。下面我们来介绍下常用的几种类型!

1.application/x-www-form-urlencoded

请求参数格式key1=val1&key2=val2的方式进行拼接,并放到请求实体里面,如果是中文或特殊字符等会自动进行URL转码。一般用于表单提交

<body>
    <div>
        <form name="test" method="POST">
            <p>username: <input type="text" name="username" /></p>
            <p>possword: <input type="text" name="possword" /></p>
            <button class="btn">提交
        </form>
    </div>
</body>
<script>
    $('.btn').click((e) => {
        e.preventDefault();
        $.ajax({
            url: 'http://192.168.26.70/cgp-rest/token/partner',
            type: 'POST',
            contentType: "application/x-www-urlencoded",
            data: {
                username: test.username.value,
                possword: test.possword.value
            },
            success: function (data) {
                console.log(data);
            }
        })
    });
</script>

contentType设置为 application/x-www-form-urlencoded,请求参数格式是key1=val1&key2=val2的拼接方式在这里插入图片描述
2.multipart/form-data

与application/x-www-form-urlencoded不同,它会将表单的数据处理为一条消息,以标签为单元,用分隔符 boundary分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型,content-disposition用来说明字段的一些信息,最后以隔符 boundary–为结束标识。multipart/form-data支持文件上传的格式,一般需要上传文件的表单则用该类型

在这里插入图片描述
2、上传文件时在这里插入图片描述
3.application/json

application/json 作为响应头比较常见。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串,其中一个好处就是JSON 格式支持比键值对复杂得多的结构化数据。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持JSON.stringify,服务端语言也都有处理 JSON 的函数,使用起来没有困难。

在这里插入图片描述
3.application/octet-stream

指的就是一些二进制文件类型。如application/pdf,指定了特定二进制文件的MIME类型。就像text文件类型若没有特定的子类型就使用 text/plain。二进制文件没有特定或已知的子类型,即使用 application/octet-stream,这是应用程序文件的默认值,一般很少直接使用 。

4.application/xml 和 text/xml

这里用的是xml格式的数据,我个人觉得 XML结构还是过于复杂,比较推荐用json格式数据。

tips:

  1. text/html, text/plain, text/css, text/javascript, image/jpeg,
    image/png, image/gif, 都是常见的页面资源类型。
  2. 客户端发送请求时的Content-Type设置如果设置的不准确会导致服务端解析不了,从而报错415
  3. 服务端响应的Content-Type最好也设置准确,乱设置某些情况下可能会有问题,比如导致文件无法下载,客户端把json数据当成文本使用
  4. 如果是一个restful接口(json格式),一般将Content-Type设置为application/json;
    charset=UTF-8
  5. 如果是文件上传,一般Content-Type设置为multipart/form-data
  6. 如果普通表单提交,一般Content-Type设置为application/x-www-form-urlencoded
  7. Accept为客户端希望接受的数据类型,Content-Type为(客户端或者服务端)发送的实体数据的数据类型,两者是有区别的,如果服务端返回的类型和客户端希望接受的数据类型不一致,从而报错406

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

numpy的常见数据类型

常见数据类型介绍Python 原生的数据类型相对较少&#xff0c; bool、int、float、str等。这在不需要关心数据在计算机中表示的所有方式的应用中是方便的。然而&#xff0c;对于科学计算&#xff0c;通常需要更多的控制。为了加以区分 numpy 在这些类型名称末尾都加了“_”。类型…

【ESP32+freeRTOS学习笔记-(九)事件组】

目录1、概述2、事件组的特性2.1 事件组、事件标志和事件位2.2 事件组位长的设置2.3 多任务访问3、使用事件组管理事件3.1 xEventGroupCreate()3.2 xEventGroupSetBits()3.3 xEventGroupGetBits()3.4 xEventGroupWaitBits()3.5 示例4、使用事件组同步任务4.1 xEventGroupSync()4…

MobaXterm安装与使用

MobaXterm安装与使用 我们首先进入MobaXterm官网&#xff0c;其提供了收费版和免费版&#xff0c;我们使用免费版即可 随后便是安装过程了&#xff0c;很简单。解压后运行该文件一路next即可。 安装完成后我们便可以使用了点击session 选择SSH连接方式&#xff0c;输入服务器…

vue项目——获取指定日期是周几和第几周的信息——表格展示

最近在写后台管理系统&#xff0c;遇到以下的要求&#xff0c;就是要展示 年月日和周几和第几周的情况。 下面记录一下用到的函数&#xff1a; 1.跟据日期获取第几周 //根据日期获取第几周 getWeek(dateTime) {let temptTime new Date(dateTime);//周几let weekday temptT…

浏览器用一行JS代码导出cookies.txt,Python的requests库导入cookies格式化为字典格式

在Python进行爬虫时&#xff0c;如果仅使用requests库打开某个网页&#xff0c;requests的session.cookies保存的cookies信息少得可怜&#xff0c;有时cookies甚至是空白&#xff01;但浏览器里打开同一个网页&#xff0c;cookies信息非常详尽&#xff0c;比如浏览器的cookies保…

2023-02-22 学习记录--TS-邂逅TS(二)

TS-邂逅TS&#xff08;二&#xff09; 不积跬步&#xff0c;无以至千里&#xff1b;不积小流&#xff0c;无以成江海。&#x1f4aa;&#x1f3fb; 一、接口&#xff08;interface&#xff09; 在 ts 中&#xff0c;子类只能继承一个父类&#xff0c;不可多继承&#xff0c;但是…

2020蓝桥杯真题单词分析 C语言/C++

题目描述 小蓝正在学习一门神奇的语言&#xff0c;这门语言中的单词都是由小写英文字母组 成&#xff0c;有些单词很长&#xff0c;远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词&#xff0c;他准备不再完全记忆这些单词&#xff0c;而是根据单词中哪个字母出…

恭喜!龙蜥社区荣登 2022 科创中国“开源创新榜”

2 月 20 日&#xff0c;中国科协召开以“创新提振发展信心&#xff0c;科技激发产业活力”为主题的2023“科创中国”年度会议。会上&#xff0c;“科创中国”联合体理事长、中国工程院院士周济介绍了 2022 年系列榜单征集遴选情况&#xff0c;并与中国科协副主席、中国工程院院…

音箱上8键触摸芯片绿芯GTC08L完美替换启攀微

由工采网代理提供的韩国GreenChip电容式触摸芯片-GTC08L是GreenTouch5CTM电容式触摸传感器系列之一&#xff1b;可以在发动机运行下进行8通道电容传感&#xff1b;对电磁兼容、电磁干扰、温湿度变化、电压干扰、温度漂移、湿度漂移等都有较强的抗干扰能力。不会对CS, RS,EFT&am…

在vue3+ts的项目中,如何解决vant组件自带表单校验不生效?

问题描述&#xff1a; 点击发送验证码后&#xff0c;为了让逻辑更加严谨&#xff0c;使用了vant组件自带的表单校验&#xff0c;进行二次校验&#xff0c;防止验证码发送成功后&#xff0c;登录手机号被二次修改&#xff0c;但根据官网描述cv之后不生效&#xff0c;甚至连获取…

3年自动化测试,月薪1.2W,不敢跳槽,每天都很焦虑

在我们的身边&#xff0c;存在一个普遍现象&#xff1a;很多人从事软件测试坎&#xff0c;不计其数&#xff0c;经历的心酸难与外人道也。可是技术确难以提升、止步不前&#xff0c;薪资也只能看着别人水涨船高&#xff0c;自己却没有什么起色。虽然在公司里属于不可缺少的一员…

轮播图、阅读注册协议、网页时钟、随机点名、小米搜索框、轮播图点击切换——web APIs练习

目录 一、获取元素&#xff08;DOM&#xff09; 1. 随机轮播图案例 2. 阅读注册协议&#xff08;定时器间歇函数的应用&#xff09; 3. 轮播图定时器版 4. 网页时钟 二、事件基础&#xff08;DOM&#xff09; 1. 随机点名案例 2. 轮播图点击切换&#xff08;重点&#…

Python、Java、JavaScript、C、Go等编程语言如何实现“定时器”功能

这是CSDN平台2月推出的一个活动(活动链接为&#xff1a;CSDN 征文活动)&#xff0c;聊聊时间的话题&#xff0c;小编我也不知道有什么好聊的时间的话题&#xff0c;看了CSDN给出的部分话题上&#xff0c;有一个这样的话题&#xff0c;如何用各种编程语言实现“定时器”&#xf…

初识SpringSpring核心容器

初识Spring Spring生态&#xff1a; Spring FrameWork发展&#xff1a; Spring FrameWork系统架构&#xff1a; Spring FrameWork学习路线&#xff1a; Spring核心概念 Ioc DI 实现IoC 1、导入Spring坐标 2、定义Spring管理的类&#xff08;接口&#xff09; 3、创建spring配…

tensorflow 学习笔记(三):神经网络八股

本节内容&#xff1a; 前两节使用 Tensorflow2 的原生代码大叫神经网络。本节使用 keras 搭建神经网络&#xff08;八股&#xff1a;六步法&#xff0c;有 Sequential 和 class 两种&#xff09;。 文章目录一、搭建网络八股 sequential1.1、keras 介绍1.2、六步法搭建 keras …

Mac搭建appium+python+Android自动化环境

mac搭建appium+python+Android自动化环境 一、安装jdk二、安装Android-SDK三、配置 Android 环境四、安装Appium五、打开appium一、安装jdk 自己百度 二、安装Android-SDK 1)下载地址: http://www.android-studio.org/index.php/download 下载mac版本的dmg 2) 下载完成后…

HTTPS:让数据传输更安全

鉴于 HTTP 的明文传输使得传输过程毫无安全性可言&#xff0c;且制约了网上购物、在线转账等一系列场景应用&#xff0c;于是引入加密方案。 从 HTTP 协议栈层面来看&#xff0c;我们可以在 TCP 和 HTTP 之间插入一个安全层&#xff0c;所有经过安全层的数据都会被加密或者解密…

关于虚拟数字人你想知道的都在这里

2022年底&#xff0c;微软旗下的人工智能实验室Open AI发布的对话式大型语言模型ChatGPT聊天机器人一夜蹿红&#xff0c;5天用户量超百万&#xff0c;在各大中外媒体平台掀起了一阵热潮。也带火了人工智能相关产业&#xff0c;AI虚拟数字人就是其中之一&#xff0c;一个随着元宇…

损失函数与反向传播

一、损失函数计算实际输出和目标之间的差距为我们更新输出提供一定的依据&#xff08;反向传播&#xff09;1.nn.L1Lossimport torch from torch.nn import L1Loss inputs torch.tensor([1,2,3],dtypetorch.float) targets torch.tensor([1,2,5],dtypetorch.float) # reshape…

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

1.帮助命令 1.1 docker version(显示docker的版本信息) sudo docker version1.2 docker info(显示docker的系统信息&#xff0c;包括镜像和容器数量) sudo docker info1.3 --help (万能命令) sudo 命令 --help1。4 帮助文档的地址 https://docs.docker.com/engine/referenc…