微信与服务器端通信方式的变迁是为什么?

最近发现系统的微信认证很慢,,有的甚至连接不上,发不出消息,就到网上搜索了下,还真发现了关于微信的细微变化,这点是表现在微信的请求方式上。做广告路由器的人都知道,微信认证的前提是放行微信相关的域名,或者是采用过滤URL的方式放行跟weixin相关的字符串请求。第一种方式的危险就在于更新微信服务器的时候,会导致以前的固件需要更新,第二种方式,也算是擦边球,如果里面不包含所请求的字符串,那就玩玩儿了。

所以了,这里抓包分析了下,发现微信现在并不是直接请求固定的域名了,而且通过如下方式:

这里采用

POST HTTP/1.1Accept: */*Cache-Control: no-cacheConnection: closeContent-Length: 893Content-Type: application/octet-streamHost: short.weixin.qq.comUser-Agent: MicroMessenger ClientURL: weixin的绝对url.整个架构图类似如下:微信APP->HTTP/DNS代理服务器->微信服务器地址这里我有两个疑问:第三方服务器为什么是IP地址微信APP什么时候更新的地址第三方服务器为什么是IP地址

我仅仅可以想到两种好处: – 分流,降低负载, 多个服务器可以分摊多用户对同一台服务器的请求压力。 – 躲过其他服务的过滤,这里也许是为了避过阿里DNS,自己的服务器作为DNS代理。

有了这两种好处,我想做也是必须的,万一哪天阿里使坏,微信可是要倒霉了。 再深思一下,就会觉得DNS代理是最靠谱的,毕竟如果做负载均衡,采用域名就好了,IP地址选用可以完全让APP和服务器之间建立直通链路,防止阿里狙击。

微信APP什么时候更新的地址如果是升级6.1固件的时候做的那倒是没什么特别的。如果不是,那就有意思了,难道微信内部存有接口,可以通过服务器定制数据来控制请求服务器的地址或者是动态修改。这样的逻辑还是挺有意思的。

世界上那些最容易的事情中,拖延时间最不费力。

微信与服务器端通信方式的变迁是为什么?

相关文章:

你感兴趣的文章:

标签云: