热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTTPMIMEtype和Encodingtype|数据类型、语言类型头字段

MIMEtype和EncodingtypeHTTP报文携带的数据类型用MIMEtype表示。MIMEtype主要类别:text:文本格式的可读数据&

MIME type 和 Encoding type

HTTP 报文携带的数据类型用MIME type表示。
MIME type 主要类别:

  • text:文本格式的可读数据,常见的是 text/html ,表示超文本文档,还有纯文本 text/plain、样式表 text/css 等。
  • image:图像文件,有 image/gif、image/jpeg、image/png 等。
  • audio/video:音频和视频数据,例如 audio/mpeg、video/mp4 等。
  • application:数据格式不固定,可能是文本也可能是二进制,必须由上层应用程序来解释。常见的有 application/json,application/Javascript、application/pdf 等,如果实在是不知道数据是什么类型,就会是 application/octet-stream,代表不透明的二进制数据。

但是 HTTP 在传输时为了节约带宽,可能压缩数据,数据的压缩格式用Encoding type表示。
Encodeing type:

  • gzip:GNU zip 压缩格式。
  • deflate:zlib(deflate)压缩格式。
  • br:一种专门为 HTTP 优化的新压缩算法(Brotli)。

HTTP 报文主体中,客户端用 Accept 头标记客户端支持的数据相关格式,告诉服务器它希望接受什么样的数据,而服务器用 Content 头告诉客户端实际发送的数据。


数据类型相关头字段


  • 数据类型
    • Accept 期望接受的数据类型
    • Content-Type 实际发送的数据类型

注意,不只是请求报文才使用 Content-Type,响应报文在POST请求时也会使用此字段。


  • 压缩格式
    • Accept-Encoding
    • Content-Encoding

语言类型相关头字段

语言类型指的是人类使用的自然语言,例如汉语、英语、日语等。
语言类型:

  • en 表示任意的英语
  • en-US 表示美式英语
  • en-GB 表示英式英语
  • zh-CN 就表示我们最常使用的汉语

关于自然语言的计算机处理还有一个更麻烦的东西叫做“字符集”。刚开始有很多种字符集,同样的一段文字,用一种编码显示正常,换另一种编码后可能就会变得一团糟。所以后来出现了 Unicode 和 UTF-8,把世界上所有的语言都容纳在一种编码方案里,遵循 UTF-8 字符编码方式的 Unicode 字符集也成为了互联网上的标准字符集。utf-8 是编码方案,Unicode是字符集。

  • 语言类型
    • Accept-Language 标记可理解的自然语言
    • Content-Language 实际使用的自然语言
  • 字符集
    • Accept-charset 标记可接受的字符集

字符集字段 Accept-charset 在响应头里没有对应的字段,而是在 Content-Type 字段的数据类型后面用“charset=xxx”来表示

Accept-Charset: gbk, utf-8
Content-Type: text/html; charset=utf-8


推荐阅读
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
  • 本文介绍了FTP(文件传输协议)的基础知识,包括其定义、如何通过TCP建立控制和数据连接,以及主动模式与被动模式的区别。FTP作为一种重要的文件传输协议,在互联网数据交换中扮演着关键角色。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • Nibblestutotials.net教程 – Blend  Silverlight1系列之Button Basic
    Basic:createonebutton文中三部分所用资源及代码下载:part1,part2,part3Buttonsbasicpart1:drawingNibbl ... [详细]
  • 解决Laravel项目中公共目录下的HTML与JS文件加载问题
    本文探讨了在Laravel框架中使用Krpano工具创建虚拟游览时遇到的问题,特别是HTML文件能正常加载而同目录下的JS文件却无法被正确识别的情况。 ... [详细]
  • 本文提供了一个Android应用中用于抓取网页信息并下载图片的示例代码。通过该代码,开发者可以轻松实现从指定URL获取网页内容及其中的图片资源。 ... [详细]
  • VSCode中实现大型项目函数跳转的方法
    在处理大型代码项目时,简单的C/C++插件往往无法满足需求。本文介绍如何通过配置GNU Global等工具,在VSCode中实现高效的函数跳转。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 利用Executor框架管理线程池
    本文介绍了如何使用Executor框架来管理和创建线程池,包括不同的线程池类型及其应用场景,以及如何通过Executors工厂类创建不同类型的Executor实例。 ... [详细]
  • Apollo入门指南
    Apollo是一个分布式配置中心,由服务端和客户端组成,支持配置的集中管理和动态更新。 ... [详细]
  • 本文详细介绍了如何利用go-zero框架从需求分析到最终部署至Kubernetes的全过程,特别聚焦于微服务架构中的网关设计与实现。项目采用了go-zero及其生态组件,涵盖了从API设计到RPC调用,再到生产环境下的监控与维护等多方面内容。 ... [详细]
author-avatar
我从不在乎O心痛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有