建网站价格网,集团微网站建设,如何做简单网站首页,东莞网站设计智能 乐云践新服务流程设计和服务或端口重定向及其websocket等应用示例
目录
服务或端口重定向的服务设计和websocket等应用示例
一、通用请求控制流程
1.1、入口
1.2、所有GET请求首先预检控制单元
1.3、http请求会分别自动307重定向
1.4、所有请求首先执行跨源控制单元
1.5、然后…服务流程设计和服务或端口重定向及其websocket等应用示例
目录
服务或端口重定向的服务设计和websocket等应用示例
一、通用请求控制流程
1.1、入口
1.2、所有GET请求首先预检控制单元
1.3、http请求会分别自动307重定向
1.4、所有请求首先执行跨源控制单元
1.5、然后执行三方平台access_token令牌控制
1.6、请求启动器链依赖控制
1.7、重新修正函数GetClientData以统一控制GET请求的UrlSearchParams
1.8、关闭所有POST请求内容的sort排序
1.9、Url.Decode解码所有请求路径
1.10、各类不安全请求的403拦截器
1.11、以上均含文件过滤控制
1.12、以上均含文件缓存控制
1.13、以上均含跨源请求白名单
1.14、执行文件Location请求控制器
1.14.1、执行文件下载控制器
1.14.2、执行html静态文件请求控制器
二、官网html请求
2.1、入口
2.2、其中包含文件过滤控制
三、非官网html请求
3.1、千万需要列入到文件过滤控制
3.2、千万不要列入到文件缓存控制
四、服务端口重定向
4.1、有时需要将不同服务程序进行隔离
4.2、代理端口重定向
4.3、所有代理重定向均应设计为API而非明文html
五、关于websocket
5.1、【微信小程序】WebSocket
5.2、【H5】WebSocket
喜欢的就收藏并点个赞鼓励我继续技术的原创写作及经验分享 一、通用请求控制流程 注意控制顺序
1.1、入口 http://www.cpuofbs.com/请求路径 或 https://www.cpuofbs.com/请求路径
1.2、所有GET请求首先预检控制单元 通用请求函数 doOptions2Self
1.3、http请求会分别自动307重定向 307到 https://www.cpuofbs.com/index.html 和 https://www.cpuofbs.com 或 https://cpuofbs.com ExecuteRequest服务控制器执行方法do307Redirect 。
1.4、所有请求首先执行跨源控制单元 通用请求函数 DoCheckCorsOrigin
1.5、然后执行三方平台access_token令牌控制 通用请求函数 doApp_API_access_token
1.6、请求启动器链依赖控制 通用请求函数 doInitiator
1.7、重新修正函数GetClientData以统一控制GET请求的UrlSearchParams
1.8、关闭所有POST请求内容的sort排序 TStringList( Request.ContentFields ).Sorted:false; 默认的Sorted可能会对xml或json封装的数据产生顺序混乱————报文请求者原有的顺序———— Request.Params内部依赖Request.ContentFields————自己根据实际需要来解析。
1.9、Url.Decode解码所有请求路径
1.10、各类不安全请求的403拦截器 通用请求函数 do403Intercept
1.11、以上均含文件过滤控制 通用过滤请求列表 StaticH5FileList 通用过滤请求函数 isFilteredStaticH5File
1.12、以上均含文件缓存控制 通用缓存请求列表 needCacheFiles
1.13、以上均含跨源请求白名单 通用跨源请求白名单列表 WhiteListHost 通用跨源请求白名单判断函数 isWhiteListHost 通用跨源白名单请求内容安全策略函数 getWhiteListHost4CSP_Requesting
1.14、执行文件Location请求控制器
1.14.1、执行文件下载控制器 通用请求函数 DownloadaFileWithoutSession_BugFeel
1.14.2、执行html静态文件请求控制器 通用请求函数 DoNosessionRootHtmls
二、官网html请求
2.1、入口 http://www.cpuofbs.com/index.html 或 http://www.cpuofbs.com
2.2、其中包含文件过滤控制 通用过滤请求列表 StaticH5FileList 通用过滤请求函数 isFilteredStaticH5File
三、非官网html请求
3.1、千万需要列入到文件过滤控制 需要列入到通用过滤请求列表 StaticH5FileList .根据实际需求客制化 跨源控制DoCheckCorsOrigin函数会使用该过滤策略。 若该html请求未跨源可以不列入 StaticH5FileList 。特别注意跨源websoket比如端口8080提供的服务嵌入到该未跨源html请求比如端口80或443中时。示例
if ((window.location.href.toLowerCase() http://192.168.3.242/mywss.html) )
{aURL ws://192.168.3.242:8080/myWSS
};
if ((window.location.href.toLowerCase() http://127.0.0.1/mywss.html) )
{aURL ws://127.0.0.1:8080/myWSS
};
if ((window.location.href.toLowerCase() https://www.cpuofbs.com/mywss.html) )
{aURL wss://www.cpuofbs.com:8080/myWSS
};
const socket new WebSocket(aURL);若该html请求跨源必须列入 StaticH5FileList 此时该源若不在isWhiteListHost函数白名单列表内只能被默认源default-src访问且内容源和脚本源必须是https才可访问否则404该源若在isWhiteListHost函数白名单列表内则接受设定的CSP策略才可以被客户端访问否则404。
3.2、千万不要列入到文件缓存控制 不要列入到通用缓存请求列表 needCacheFiles 根据实际需求客制化 因为缓存有过期时效性一些服务类的html请求会涉及到跨源控制DoCheckCorsOrigin且在其中控制设定的CSP内容安全策略CSP可能会有改动。 CSPContent-Security-Policy内容安全策略在函数DoCheckCorsOrigin中设定。
四、服务端口重定向
4.1、有时需要将不同服务程序进行隔离 比如websocket服务器、tcp-socket服务器、专用的上传服务器、专用的下载服务器、专用的邮件服务器等等又比如专用平台的服务器诸如“微信小程序服务器”、“ERP、CRM、SCM”等业务服务器。 因为这些服务具有过很多特性将它们与官网混合在一起会相互影响访问的性能。 此时可以运用“端口重定向技术”。
4.2、代理端口重定向 比如websocket的服务程序 http://192.168.3.242/myWSS.html ws://192.168.3.242:8080/myWSS https://www.cpuofbs.com/myWSS.html wss://www.cpuofbs.com:8080/myWSS //代理端口重定向__比如websocket的服务程序: //注意不要_涉及SSL证书过期时的验证if LowerCase(RequestPathInfo).Contains(tls)and (Request.ServerPort8080) thenbeginif _IsHTTPS_ then gSCProxyPortInit(true,443,8080,host_domain,/)else gSCProxyPortInit(false,443,8080,Request.host,/);Handled:true; Result:1;exit;//:◆◆将请求分发给__◆监听8080端口的【服务】//_比如◆◆websocket◆◆end else;
4.3、所有代理重定向均应设计为API而非明文html 防止恶意程序利用搜索引擎Robots协议扫描html文件。所有API均应执行登录验证流程。
五、关于websocket
5.1、【微信小程序】WebSocket ◆◆◆◆注意事项 ◆若【微信小程序】WebSocket 并发数 1.7.0 及以上版本最多可以同时存在 5 个 WebSocket 连接。 1.7.0 以下版本1对1一个小程序同时只能有一个 WebSocket 连接如果当前已存在一个 WebSocket 连接会自动关闭该连接并重新创建一个 WebSocket 连接 https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.connectSocket.html#并发数 ◆若【微信小程序】TCP Socket实例 ●禁止与以下端口号连接1024 以下 ●禁止与以下端口号连接1099 1433 1521 1719 1720 1723 2049 2375 3128 3306 3389 3659 4045 5060 5061 5432 5984 6379 6000 6566 7001 7002 8000-8100 8443 8888 9200 9300 10051 10080 11211 27017 27018 27019 ●每 5 分钟内最多创建 20 个 TCPSocket 5.2、【H5】WebSocket ◆同一个浏览器允许不同的【标签页】连接同一个WebSocket URL。 服务器会视为不同的客户端连接句柄客户端连接的FSocket不同UID_MASK掩码亦会不同。 ◆同一台设备不同浏览器同一个WebSocket URL。 服务器均会视为不同的客户端连接。
喜欢的就收藏并点个赞鼓励我继续技术的原创写作及经验分享
本博客相关文章
《CPU或GPU的cache与芯片纳米级别和APP或服务性能之间的关系》