http的MIME类型

在 HTTP 协议中,MIME 类型(Multipurpose Internet Mail Extensions)用于描述传输内容的类型和格式。MIME 类型通过 Content-Type 头字段来指定,告知客户端如何处理和显示接收到的数据。

常见的 MIME 类型

以下是一些常见的 MIME 类型及其用途:

文本文件

  • text/plain:纯文本文件
  • text/html:HTML 文件
  • text/css:CSS 文件
  • text/javascript:JavaScript 文件

图像文件

  • image/jpeg:JPEG 图像
  • image/png:PNG 图像
  • image/gif:GIF 图像
  • image/svg+xml:SVG 图像

音频文件

  • audio/mpeg:MP3 音频
  • audio/wav:WAV 音频
  • audio/ogg:OGG 音频

视频文件

  • video/mp4:MP4 视频
  • video/webm:WebM 视频
  • video/ogg:OGG 视频

应用程序文件

  • application/json:JSON 数据
  • application/xml:XML 数据
  • application/pdf:PDF 文件
  • application/zip:ZIP 压缩文件
  • application/octet-stream:二进制数据流(通常用于下载文件)

在 HTTP 中使用 MIME 类型

在 HTTP 协议中,MIME 类型通常通过 Content-Type 头字段来指定。例如,当服务器返回一个 HTML 文件时,响应头中会包含以下内容:

Content-Type: text/html

示例代码

以下是一个使用 Node.js 和 Express 框架设置 MIME 类型的示例:

const express = require('express');
const app = express();
const port = 3000;app.get('/', (req, res) => {res.setHeader('Content-Type', 'text/html');res.send('<h1>Hello, World!</h1>');
});app.get('/image', (req, res) => {res.setHeader('Content-Type', 'image/png');res.sendFile('/path/to/image.png');
});app.get('/data', (req, res) => {res.setHeader('Content-Type', 'application/json');res.json({ message: 'Hello, World!' });
});app.listen(port, () => {console.log(`Server is running at http://localhost:${port}`);
});

解释

  1. res.setHeader(‘Content-Type’, ‘text/html’):设置响应头的 Content-Type 为 text/html,表示返回的是一个 HTML 文件。
  2. res.sendFile(’/path/to/image.png’):发送一个 PNG 图像文件,并设置 Content-Type 为 image/png。
  3. res.json({ message: ‘Hello, World!’ }):发送一个 JSON 数据,并设置 Content-Type 为 application/json。

MIME 类型的完整列表

以下是一些常见的 MIME 类型及其子类型的完整列表:

文本文件

  • text/plain
  • text/html
  • text/css
  • text/javascript
  • text/markdown
  • text/xml

图像文件

  • image/jpeg
  • image/png
  • image/gif
  • image/svg+xml
  • image/webp
  • image/bmp

音频文件

  • audio/mpeg
  • audio/wav
  • audio/ogg
  • audio/webm
  • audio/aac

视频文件

  • video/mp4
  • video/webm
  • video/ogg
  • video/avi
  • video/mpeg

应用程序文件

  • application/json
  • application/xml
  • application/pdf
  • application/zip
  • application/octet-stream
  • application/msword
  • application/vnd.ms-excel
  • application/vnd.ms-powerpoint
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation

通过正确设置 MIME 类型,服务器可以告知客户端如何处理和显示接收到的数据,从而确保数据的正确传输和显示。

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

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

相关文章

智能人体安全防护:3D 视觉技术原理、系统架构与代码实现剖析

随着工业化程度的提高&#xff0c;生产安全已成为企业关注的重点。尤其是在一些存在禁区的工业厂区和车间&#xff0c;人员误入或违规进入将带来严重的安全隐患。为了解决这一问题&#xff0c;迈尔微视推出了智能人体安全检测解决方案&#xff0c;为企业提供全方位的人员安全监…

sqlalchemy异步方法使用

建立模型 创建基类base.py from sqlalchemy.orm import DeclarativeBaseclass Base(DeclarativeBase):pass以用户为例&#xff0c;建立用户模型继承基类 from sqlalchemy import Integer, String, ForeignKey, DateTime, Boolean from sqlalchemy.orm import mapped_column, Ma…

暂停window11自动更新

window11 的自动更新功能&#xff0c;一方面在后台占用资源&#xff0c;容易导致电脑卡顿&#xff1b;另一方面&#xff0c;“更新并关机” 和 “更新并重启” 的设置令人极其反感。很多补丁兼容性很差&#xff0c;更新后极易引发电脑蓝屏、闪屏等意想不到的 bug。 1.winR打开运…

CTF-WEB: php-Session 文件利用 [第一届国城杯 n0ob_un4er 赛后学习笔记]

step 1 搭建容器 教程 A5rZ 题目 github.com Dockerfile 有点问题,手动修复一下 FROM php:7.2-apacheCOPY ./flag /root COPY ./readflag / COPY ./html/ /var/www/html/ COPY ./php.ini /usr/local/etc/php/php.ini COPY ./readflag /readsecretRUN chmod 755 /var/www…

在Win11系统上安装Android Studio

诸神缄默不语-个人CSDN博文目录 下载地址&#xff1a;https://developer.android.google.cn/studio?hlzh-cn 官方安装教程&#xff1a;https://developer.android.google.cn/studio/install?hlzh-cn 点击Next&#xff0c;默认会同时安装Android Studio和Android虚拟机&#…

网络基础概念

目录 一、计算机网络的发展背景1、网络的定义&#xff08;1&#xff09; 独立模式&#xff08;2&#xff09;网络互联 2、局域网 LAN3、广域网 WAN4、比较局域网和广域网5、扩展 —— 域域网和互联网 二、初识协议1、协议的概念2、协议的本质3、协议分层&#xff08;1&#xff…

基于docker安装-高斯DB(opengauss)

获取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/opengauss:latest启动并配置容器 docker run --name OpenGauss --privilegedtrue --restartalways -u root -p 15432:5432 -e GS_PASSWORDEnmo123 -v /etc/localtime:/etc/localtime -v /data/OpenGaus…

web网页前后端交互方式

参考该文&#xff0c; 一、前端通过表单<form>向后端发送数据 前端是通过html中的<form>表单&#xff0c;设置method属性定义发送表单数据的方式是get还是post。 如使用get方式&#xff0c;则提交的数据会在url中显示&#xff1b;如使用post方式&#xff0c;提交…

Android:展锐T760平台camera PDAF调试

一、平台PDAF流程 目前展锐平台主要支持Shield PD Sensor、Dual PD Sensor 1、Shield PD Sensor Type1相位差和信心度结果直接从Sensor输出,不经过平台算法库。 Type2Sensor端抽取PD信息, 放在一块buffer输出, PDAF算法库算出相位差和信心度。 Type3Sensor端直接输出将带有…

css中样式前加 css样式前面加个圆点

创建CSS样式,样式名称的前面需要加什么 1、我们只知道符号代表的意思是at&#xff0c;其翻译是 在... 例如media就是 在媒介上。没人规定本身具有什么意义&#xff0c;或者说就算规定了我们也改变不了&#xff0c;只需要知道其规定属性的用法即可。 2、px;}然后根据你自己索要…

Scala-异常

1.空指针异常 NullPointerException 2.索引越界异常 IndexOutOfBoundsException 3.算术运算异常 ArithmeticException try{ 可能发生异常的代码 }catch { 发生异常之后的处理逻辑 case e:异常类型1 > 处理逻辑1 case e:异常类型2 > 处理逻辑2 …… }final…

iOS 环境搭建教程

本文档将详细介绍如何在 macOS 上搭建 iOS 开发环境&#xff0c;以便进行 React Native 开发。&#xff08;为了保证环境一致 全部在网络通畅的情况下运行&#xff09; 1. 安装 Homebrew Homebrew 是 macOS 的包管理工具&#xff0c;我们将通过它来安装开发所需的工具。 安装…

【HTML】根据不同域名设置不同的网站图标(替换 link 中 href 地址)

文章目录 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta http-equiv"x-ua-compatible" content"ieedge,chrome1" /><meta name"viewport" content"widthdevice-width&q…

Linux 操作系统中的管道与共享内存

目录 一、匿名管道 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;关键现象 &#xff08;三&#xff09;管道特性 二、命名管道 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;关键特性 三、共享内存 &#xff08;一&#xff09;基…

Glide 加载图片并应用滤镜效果

https://chatgpt.com/share/675a5bf6-7cd8-8003-98e7-d86146e47e95 常用滤镜类型 颜色调整滤镜 灰度 (Grayscale): 将图片转换为黑白。 反色 (Invert): 将图片的颜色反转。 棕褐色 (Sepia): 应用棕褐色滤镜&#xff0c;营造复古效果。 色调 (Hue): 调整图片的主色调。 饱和度…

Python 参数配置使用 XML 文件的教程 || Python打包 || 模型部署

当配置项存储在外部文件&#xff08;如 XML、JSON&#xff09;时&#xff0c;修改配置无需重新编译和发布代码。通过更新 XML 文件即可调整参数&#xff0c;无需更改源代码&#xff0c;从而提升开发效率和代码可维护性。 1. 为什么选择 XML 配置文件 XML 配置文件具有多种优点…

Java从入门到工作2 - IDEA

2.1、项目启动 从git获取到项目代码后&#xff0c;用idea打开。 安装依赖完成Marven/JDK等配置检查数据库配置启动相关服务 安装依赖 如果个别依赖从私服下载不了&#xff0c;可以去maven官网下载补充。 如果run时提示程序包xx不存在&#xff0c;在项目目录右键Marven->Re…

Android显示系统(13)- 向SurfaceFlinger提交Buffer

Android显示系统&#xff08;01&#xff09;- 架构分析 Android显示系统&#xff08;02&#xff09;- OpenGL ES - 概述 Android显示系统&#xff08;03&#xff09;- OpenGL ES - GLSurfaceView的使用 Android显示系统&#xff08;04&#xff09;- OpenGL ES - Shader绘制三角…

【kubernetes】资源管理方式

目录 1. 说明2. 命令式对象管理3. 命令式对象配置4. 声明式对象配置5. 三种方式的对比 1. 说明 1.在Kubernetes&#xff08;k8s&#xff09;中&#xff0c;资源管理是一个核心功能&#xff0c;它允许用户通过操作资源来管理Kubernetes集群。2.Kubernetes将所有的内容都抽象为资…

【git、gerrit】特性分支合入主分支方法 git rebase 、git cherry-pick、git merge

文章目录 1. 场景描述1.1 分支状态 2. 推荐的操作方式方法 1&#xff1a;git merge&#xff08;保留分支结构&#xff09;方法 2&#xff1a;git rebase&#xff08;线性合并提交历史&#xff09;直接在master分支执行git merge br_feature&#xff0c;再 执行 git pull --reba…