下载文件 后端返回给前端 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
相关推荐
超级大只老咪几秒前
HTML学习路线
前端·学习·html
゜ eVer ㄨ2 分钟前
React学习第三天——生命周期
前端·学习·react.js
摆烂且佛系5 分钟前
CSS元素的总宽度计算规则
前端·css
对岸住着星星9 分钟前
vue3+ts实现拖拽缩放,全屏
前端·javascript
菜鸟小九16 分钟前
SSM(MybatisPlus)
java·开发语言·spring boot·后端
不爱编程的小九九18 分钟前
小九源码-springboot051-智能推荐旅游平台
java·spring boot·后端
aesthetician19 分钟前
@tanstack/react-query:React 服务器状态管理与数据同步解决方案
服务器·前端·react.js
数据知道19 分钟前
Go基础:常用数学函数处理(主要是math包rand包的处理)
开发语言·后端·golang·go语言
期待のcode31 分钟前
MyBatis框架—延迟加载与多级缓存
java·数据库·后端·缓存·mybatis
数据知道37 分钟前
Go基础:文件与文件夹操作详解
开发语言·后端·golang·go语言