开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 693|回复: 6
收起左侧

[已解决] 关于http协yi请求头的一些提问

 关闭 [复制链接]
结帖率:91% (192/212)
发表于 2022-12-5 23:20:55 | 显示全部楼层 |阅读模式   福建省漳州市
11精币
比如我请求头 加  Accept-Encoding: gzip, deflate, br  是告诉服务器我接受GZIP数据返回,那么如果服务器不判断这个请求头是不是加不加这个请求头都没意义,一样返回的是无压缩的数据对不对。

那么我在实际开发中,发送请求带上这个就给我返回压缩过的,不带就返回无压缩的,是不是说明对方服务器判断这个参数来选择是否压缩数据。还是说那些PHP  PY做后端的服务器,都会自动去判断这些协yi头来做出对应响应,无需人工写代码判断?


最佳答案

查看完整内容

你的理解是正确的。HTTP 协yi中的 Accept-Encoding 请求头告诉服务器,客户Duan能够处理的数据压缩方式。如果服务器判断客户Duan可以处理 gzip、deflate 和 br 等压缩方式,则可以选择使用这些压缩方式压缩数据,并在响应头中添加 Content-Encoding,告诉客户Duan使用哪种压缩方式压缩的数据。 如果服务器没有判断 Accept-Encoding 请求头,则不会使用压缩方式压缩数据,并在响应头中不会添加 Content-Encoding。在这种情况下,客 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:94% (16/17)
发表于 2022-12-5 23:20:56 | 显示全部楼层   广东省深圳市
你的理解是正确的。HTTP 协yi中的 Accept-Encoding 请求头告诉服务器,客户Duan能够处理的数据压缩方式。如果服务器判断客户Duan可以处理 gzip、deflate 和 br 等压缩方式,则可以选择使用这些压缩方式压缩数据,并在响应头中添加 Content-Encoding,告诉客户Duan使用哪种压缩方式压缩的数据。
如果服务器没有判断 Accept-Encoding 请求头,则不会使用压缩方式压缩数据,并在响应头中不会添加 Content-Encoding。在这种情况下,客户Duan无需解压数据,直接使用即可。
通常情况下,PHP、Python 等后端语言都会提供相应的模块或库来处理 HTTP 协yi中的请求头和响应头,并实现自动压缩功能。但是,需要注意的是,不同的后端语言实现这个功能的方式和细节可能会有所不同,所以需要根据具体的使用场景来确定是否需要手动处理 Accept-Encoding 请求头。
在前端的 JavaScript 代码中,可以使用 XMLHttpRequest 或 fetch API 来发送 HTTP 请求,并在请求头中添加 Accept-Encoding 请求头来指定支持的压缩方式。如果服务器支持压缩并选择使用压缩方式,则可以通过响应头中的 Content-Encoding 字段来获取服务器使用的压缩方式,并使用相应的解压程序来处理压缩数据。

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

发表于 2022-12-5 23:23:33 | 显示全部楼层   河南省郑州市
你带上这些 说明你浏览器是支持这些的  服务器发哪种 你都可以接,如果服务器发现你不支持 那么只能发原始的了

补充内容 (2022-12-5 23:25):
两个条件都得达到
1.服务器开启了压缩
2.浏览器请求的时候说:我支持gzip 来吧老弟
回复

使用道具 举报

结帖率:91% (192/212)

签到天数: 14 天

 楼主| 发表于 2022-12-5 23:55:10 | 显示全部楼层   福建省漳州市
afu45 发表于 2022-12-5 23:23
你带上这些 说明你浏览器是支持这些的  服务器发哪种 你都可以接,如果服务器发现你不支持 那么只能发原始 ...

那么服务器需要判断这个请求头。。这个判断是我们人工代码判断还是说服务器组件自动判断的,,即使不发这个请求头,,服务器依然可以发送压缩数据是不是?
回复

使用道具 举报

结帖率:91% (192/212)

签到天数: 14 天

 楼主| 发表于 2022-12-6 02:39:13 | 显示全部楼层   福建省漳州市
Robust 发表于 2022-12-6 00:08
你的理解是正确的。HTTP 协yi中的 Accept-Encoding 请求头告诉服务器,客户Duan能够处理的数据压缩方式。如 ...

客户端的请求头只是告诉服务器客户端支持GZIP,至于服务器返回不返回压缩的数据,服务端说的算,一般PHP py那些有库来自动处理。 浏览器里面的请求会自动加上这个协议头,因为浏览器支持解压,,我们用软件发送的请求不添加这个协议头, 是不是服务器依然可以强制返回压缩的数据。
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

发表于 2022-12-6 08:37:37 | 显示全部楼层   河南省郑州市
剧终0616 发表于 2022-12-5 23:55
那么服务器需要判断这个请求头。。这个判断是我们人工代码判断还是说服务器组件自动判断的,,即使不发这 ...

1.服务器需要启用压缩才会发送压缩数据
2.如果客户Duan不发这个请求头,说明客户Duan不支持,那么服务器不会发送压缩数据
3.如果客户Duan发送请求头,但是服务器没有启用压缩,则也不会发送压缩数据


补充内容 (2022-12-6 08:39):
至于服务器如何发送压缩数据  可以百du  服务器启用gzip
https://znanr.com/?id=102
回复

使用道具 举报

发表于 2022-12-6 14:51:55 | 显示全部楼层   江苏省南京市
用专业的库或组件,当然是自动的。自己搓底层,那就不是自动咯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表