发布时间:2020·01·17 浏览:1741
网络通信
小程序请求数据API时比较头疼,不能用想当然方式进行学习。
服务器域名、IP、HTTPS
域名1
域名(Domain Name):又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
IP地址与域名一一对应,域名地址的信息存放在一个叫域名服务器(DNS,Domain name server)的主机内,使用者只需要了解域名地址,其对应的转换工作就留给了域名服务器。
域名服务器就是提供IP地址和域名之间的转换服务的服务器。
域名与IP中间是DNS
域名:www.baidu.com
IP:180.101.49.11
DNS:将域名解析为IP的服务器。
https
https是一种网络协议。
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。
HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
域名支持https是什么意思
小程序对域名的需求2
从这个角度将小程序大致分成三类:
静态小程序
比如只有前端展示,没有数据交互需求,就是后台不需要调服务器数据更新内容,小程序内容是写死的。
这种不需要域名。
数据交互(调用第三方API)小程序
比如调用豆瓣API展示较新电影数据,这种需要与某个数据库交互,是需要域名的,只是第三方提供罢了,个人开发者不需要费心。
数据交互(自己搭建服务器)小程序
比如做一个数据计算功能的小程序,用户输入数据,调用一个自己编写的API进行计算,这就要求有一个服务器运行自己编写的API,这个服务器是需要有域名,且域名必须要有https证书。
这是较复杂的一类。
ICP备案
小程序要求:域名必须经过 ICP 备案;
ICP(Internet Content Provider)3,网络内容提供商,ICP可以理解为向广大用户提供互联网信息业务和增值业务的电信运营商,是经国家主管部门批准的正式运营企业或部门。
在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。未经备案,不得在中华人民共和国境内从事经营性互联网信息服务。
阿里云ICP备案详细步骤4
详细过程参见资料,这里只记录下备案前需准备的资料:
注册账号
备案前您需要拥有一个阿里云账号,请参见注册账号并登录备案系统注册一个账号用于备案申请和后续备案信息维护。
域名准备
备案前需完成域名注册及实名认证,请参见网站域名准备与检查确认您的网站域名是否符合备案要求。
数据交互(自建服务器)小程序数据API准备
首先要搞清楚流程,当前情况下,小程序需要引入API需要满足:
有服务器
阿里云购买,自己配置好所需软件。
有域名
购买域名
在阿里云购买域名时,同时购买云解析个人版,一共60元。
在控制台–站点设置–域名–添加域名,就可以实现解析。
解析需要三五分钟实现。
域名备案
域名支持https
购买SSL证书5
可以购买,也可以免费申请。网上都有很多详细教程。
提交申请后等大约24小时验证完成。
所谓的支持https可以简单理解为配置好SSL证书。
微信小程序官方文档详解6
文档提到备案流程如下,本文上述内容是为理解下文所作准备。
服务器域名请在 「小程序后台-开发-开发设置-服务器域名」 中进行配置,配置时需要注意:
域名只支持 https (wx.request、wx.uploadFile、wx.downloadFile) 和 wss (wx.connectSocket) 协议;
域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost;
可以配置端口,如 https://myserver.com:8080,但是配置后只能向 https://myserver.com:8080 发起请求。如果向 https://myserver.com、https://myserver.com:9091 等 URL 请求则会失败。
如果不配置端口。如 https://myserver.com,那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以。如果向 https://myserver.com:443 请求则会失败。
域名必须经过 ICP 备案;
出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关API也不能在小程序内调用。 开发者应将 AppSecret 保存到后台服务器中,通过服务器使用 getAccessToken 接口获取 access_token,并调用相关 API;
对于每个接口,分别可以配置较多 20 个域名。
下一篇: 防火墙的基本概念