下载文件 后端返回给前端 response header 响应头

当浏览器在请求资源时,会通过http返回头中的content-type决定如何显示/处理将要加载的数据,如果这个类型浏览器能够支持阅览,浏览器就会直接展示该资源,比如png、jpeg、video等格式。在某些下载文件的场景中,服务端可能会返回文件流,并在返回头中带上Content-Type: application/octet-stream,告知浏览器这是一个字节流,浏览器处理字节流的默认方式就是下载。

application/octet-stream是应用程序文件的默认值。意思是未知的应用程序文件 ,浏览器一般不会自动执行或询问执行。浏览器会像对待,设置了HTTP头Content-Disposition 值为 attachment 的文件一样来对待这类文件,即浏览器会触发下载行为。

说人话就是,浏览器并不认得这是什么类型,也不知道应该如何展示,只知道这是一种二进制文件,因此遇到content-type为application/octet-stream的文件时,浏览器会直接把它下载下来。这个类型一般会配合另一个响应头Content-Disposition,该响应头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。

作者:麦当_

链接:https://juejin.cn/post/6979224810681270309

http - Do I need Content-Type: application/octet-stream for file download? - Stack Overflow

复制代码
Content-Type: application/octet-stream
Content-Disposition: attachment
bash 复制代码
Content-Type: application/pdf
bash 复制代码
Content-Type: image/png
相关推荐
卷无止境34 分钟前
给AI装上一双眼睛:快速构建代码验证器的思路与落地方案
后端·python
学长毕设36 分钟前
基于SpringBoot的餐厅管理系统-附源码
java·spring boot·后端
俊昭喜喜里1 小时前
理解全局跨域CORS配置
前端
ZWZhangYu2 小时前
从 Dify 实践理解大模型上下文缓存
java·后端·spring
考虑考虑3 小时前
瀚高数据库
数据库·后端·postgresql
锋行天下4 小时前
DeepSeek写Langgraph就是个大傻逼,一本正经胡说八道
前端·人工智能·后端
jktantan4 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
计算机魔术师4 小时前
Anthropic官方插件被「寄生」,背后是同一类攻击又来了
前端
我命由我123455 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng5 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent