header中的参数讲解

本文详细解析了在实现文件下载功能时常用的HTTP Header属性,包括Content-Type、Content-Disposition等,阐述了它们的功能及应用场景,适用于Web开发者和技术人员参考。

      做下载功能的时候,经常需要定义header头,但是header可以定义的属性太多了,有时候会显得无从下手。这里记录一下我用到的几个header头,并且给出它们的作用以及参考链接。

header("Content-Type: application/force-download");    
参考链接: //http://www.thinkphp.cn/topic/36582.html    
功能:		告诉浏览器强制下载

header("Content-type:application/octet-stream");     
参考链接 //https://blog.youkuaiyun.com/wangjun5159/article/details/49644507
功能:  二进制流

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');  
参考链接:      //https://blog.youkuaiyun.com/xiaoranzhizhu/article/details/70473734  
功能: office所有后缀对应的 content-type

header("Content-Transfer-Encoding: binary");  
参考链接:   //https://blog.youkuaiyun.com/foolish0421/article/details/73302336

header("Accept-Ranges:bytes");  
参考链接:       //https://blog.youkuaiyun.com/runje/article/details/47720641   
header("Content-Disposition:attachment;filename=" . $filename . ".csv");   

参考链接://https://blog.youkuaiyun.com/ssssny/article/details/77717287 
功能:  表明不在页面输出打开,直接下载

header("Pragma: no-cache");	//无缓存
header("Expires: 0");  
参考链接: //https://www.jianshu.com/p/f331d5f0b979
功能: 该资源过期的日期,浏览器会根据该过期日期与客户端时间对比,如果过期时间还没到,则会去缓存中读取该资源,如果已经到期了,则浏览器判断为该资源已经不新鲜要重新从服务端获取

此外还有很多的header属性,这里就不一一介绍了,网上有很多,一查一大堆,大家根据需要再去查看即可。

HTTP消息中header头部信息的讲解

注意: 如果是要下载的话,十有八九要定义header的,如果是类似于直接写入到csv文件,那么就不需要用到header,一切根据需求决定。

end

在JavaScript中,可使用`fetch` API或`XMLHttpRequest`对象发送POST请求,以下对请求参数和请求头进行详细解释。 ### 请求参数 JavaScript中使用`fetch` API发送POST请求时,请求参数通常包含在请求体中。例如定义一个名为`sendPostRequest`的函数,接受URL和数据两个参数,使用`fetch` API发送POST请求,通过传入包含请求方法、请求头和请求体的配置对象来设置请求参数 [^2]。 ```javascript function sendPostRequest(url, data) { return fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }); } const exampleUrl = 'https://example.com/api'; const exampleData = { key: 'value' }; sendPostRequest(exampleUrl, exampleData) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` 上述代码中,`body`属性包含了请求参数,`JSON.stringify(data)`将JavaScript对象转换为JSON字符串,适用于`Content-Type`为`application/json`的情况。 ### 请求头 请求头用于向服务器提供关于请求的额外信息,如请求的内容类型、身份验证信息等。 #### 预定义头信息 使用`XMLHttpRequest`对象时,可通过`setRequestHeader`方法设置请求头。例如设置`Content-Type`为`application/x-www-form-urlencoded` [^1]。 ```javascript const xhr = new XMLHttpRequest(); xhr.open('POST', 'https://example.com/api', true); // 设置请求头 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); } }; const params = 'key1=value1&key2=value2'; xhr.send(params); ``` #### 常见请求头 - `Content-Type`:指示请求体的媒体类型。常见值有`application/json`(用于JSON数据)、`application/x-www-form-urlencoded`(用于表单数据)和`multipart/form-data`(用于文件上传)等。服务端根据该字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析 [^3]。 - `X-Requested-With`:通常用于标识请求是通过AJAX发起的,常见值为`XMLHttpRequest`。 - `User-Agent`:标识客户端的类型和版本信息。 - `Cookies`:反映浏览器保存的cookie的值,可用于身份验证和会话管理 [^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值