【小程序】微信开发者工具上调用api接口可以,到了线上调用发现提示wx.request调用报错,原来是https协议问题
🌹欢迎来到《小5讲堂》🌹
🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹
目录
- 前言
- 真机调试
- https协议过期
- 为什么要https协议
- 1. 数据安全与防篡改(核心原因)
- 2. 保护用户隐私
- 3. 遵守法律法规和平台政策
- 4. 确保功能完整性与可靠性
- 5. 维护平台信誉和用户体验
- 总结
- 推荐文章
前言
有一段时间没有动过小程序代码了,大概三个月没动过了,今天在整理代码的时候,在开发工具上是可以调用成功API接口,但是线上的小程序就无法使用,调用wx.request方法直接报错,也没有直接输出错误信息res,然后直接真机调试查看具体错误信息。
真机调试
下面提示很明显,就是所,你的api接口https协议过期啦
“request:fail -201:net::ERR_CERT_DATE_INVALID”
https协议过期
直接访问自己的https的api测试接口,会有明显的提示:不安全,就是表示https协议过期啦
为什么要https协议
简单来说,小程序强制要求使用 HTTPS 协议,主要是为了保障数据安全、用户隐私和平台稳定性。这是微信、支付宝等小程序平台制定的铁律。
下面来详细分解一下具体原因:
1. 数据安全与防篡改(核心原因)
- HTTP 的缺陷:传统的 HTTP 协议是明文的。数据在客户端(你的手机)和服务器之间传输时,就像寄送一张没有信封的明信片,任何中间环节(比如不安全的公共WiFi)都可能被窃听、截取或篡改。
- HTTPS 的加密:HTTPS 在 HTTP 基础上加入了 SSL/TLS 加密层。它相当于给数据通信加上了一个坚固的“加密隧道”。
- 内容加密:传输的数据是加密的,即使被截获,黑客也无法直接读懂。
- 校验机制:防止数据在传输过程中被第三方篡改。比如,服务器返回的用户信息是“余额100元”,中途不会被改成“余额1元”。
- 身份认证:确保你的小程序是在与正确的、经过认证的服务器通信,而不是一个仿冒的钓鱼服务器。
对于小程序这种涉及用户登录、支付、个人数据等敏感信息的应用来说,防止“中间人攻击”是至关重要的。
2. 保护用户隐私
小程序运行在微信、支付宝这样的超级App内部,这些平台对用户隐私负有极大的责任。
- 小程序可以获取用户的微信头像、昵称、手机号等高度敏感的信息。
- 如果使用 HTTP,这些信息在传输时就会完全暴露,造成巨大的隐私泄露风险。
- 强制 HTTPS 确保了即使用户在不可信的网络上使用小程序,其隐私数据也是安全的。这是平台履行其保护用户责任的关键措施。
3. 遵守法律法规和平台政策
- 法律法规:像中国的《网络安全法》、《个人信息保护法》等都明确要求网络运营者要保障用户个人信息安全。强制使用 HTTPS 是平台遵守这些法律的具体体现。
- 平台政策:微信、支付宝等平台的开发者协议中明确规定了必须使用 HTTPS。如果你的服务器接口不使用 HTTPS,在提交小程序审核时就无法通过。
4. 确保功能完整性与可靠性
许多现代 Web API(应用程序编程接口)本身就要求安全上下文(即 HTTPS 环境)才能使用。例如:
- Service Worker(用于离线缓存和推送)
- 地理位置 API(获取用户精确位置)
- 支付接口等
小程序底层依赖的许多能力都与这些现代浏览器标准相关,HTTPS 是启用这些能力的前提,从而保证了小程序功能的完整性和可靠性。
5. 维护平台信誉和用户体验
想象一下,如果用户在一个小程序里进行支付,结果因为使用 HTTP 导致银行卡信息被盗。这不仅会毁掉那个小程序的信誉,更会严重损害微信或支付宝整个平台的信誉。用户会失去对“小程序”这种形态的信任。因此,平台通过强制 HTTPS 来为所有小程序提供一个基础的安全保障,维护整体的生态环境和用户体验。
总结
特性 | HTTP | HTTPS | 对小程序的意义 |
---|---|---|---|
数据传输 | 明文,不加密 | 加密传输 | 防止数据泄露和窃听 |
数据完整性 | 容易被篡改 | 具有完整性校验 | 防止数据被恶意修改 |
身份认证 | 无法验证服务器身份 | 验证服务器真实性 | 防止钓鱼和仿冒服务器 |
合规性 | 不符合安全法规 | 符合平台政策和法律法规 | 保证应用能正常上架运行 |
用户信任 | 低,不安全 | 高,安全 | 维护平台和小程序开发者的信誉 |
结论:
小程序强制要求 HTTPS,不是一个可选项,而是一个为了保障用户安全、维护平台稳定、遵守法律法规而必须遵守的底线要求。它牺牲了一点服务器配置的便利性,换来了整个小程序生态的安全性和可信度。
推荐文章
【小程序】微信开发者工具上调用api接口可以,到了线上调用发现提示wx.request调用报错,原来是https协议问题
【小程序】微信小程序开发,给用户发送一次性订阅消息,常见参数长度和数据类型说明,你值得收藏
【小程序】微信小程序开发,分享给朋友或者朋友圈的功能增加地址参数,以及如何进行带参数本地测试
【小程序】.net core2.1对接微信支付开发时自己挖的坑
【前端】微信小程序,同名图片缓存问题,增加图片后缀动态参数值解决
【小程序】常用方法、知识点汇总1
【腾讯云】AI驱动TDSQL-C Serveress 数据库技术实战营-如何是从0到1体验电商可视化分析小助手得统计功能,一句话就能输出目标统计图
【随笔】博客质量分计算,如何让自己的博客脱颖而出,也许文章能够给你答案
【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》
【1024程序员节】分享下博主的AI应用之旅,有哪些好玩有趣的智能体呢,不妨一起探索下