
服务器系统:centos 72
站点环境:nginx
遇到问题:
1、微信小程序端请求服务器登陆接口,服务端收到请求后向微信接口服务器请求数据,请求成功后返回数据给客户端,但是请求微信接口服务器经常性出现超时问题,请求超时时间设置成10S依然会提示超时,只有偶尔的一两次会请求成功;
解决方法:
1、首先在服务器上通过终端先ping一下微信的接口域名:apiweixinqqcom;如果发现域名解析ip地址时间非常长的话说明是dns解析超时的问题;
2、找到原因后,更改服务器etc/resolvconf文件中的dns服务器地址
你可以测试一下哪个dns在你服务器上解析速度最快你就把相应的ip地址放到最上面就可以了;
3、基本上你调整过之后,你在访问微信的登陆授权接口基本上就是毫秒级别的;
备注:windows系统的服务器如果也是dns解析慢的问题,也可以参考这种方式进行修改,不过估计文件路径不一样可以自行百度;在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳
大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存
什么是Ajax缓存原理?
Ajax在发送的数据成功后,会把请求的URL和返回的响应结果保存在缓存内,当下一次调用Ajax发送相同的请求时,它会直接从缓存中把数据取出来,这是为了提高页面的响应速度和用户体验。当前这要求两次请求URL完全相同,包括参数。这个时候,浏览器就不会与服务器交互。
Ajax缓存的好处
这种设计使客户端对一些静态页面内容的请求,比如,css文件,js脚本等,变得更加快捷,提高了页面的响应速度,也节省了网络通信资源。
Ajax缓存的不足
Ajax缓存虽然有上述的好处,但是如果通过Ajax对一些后台数据进行更改的时候,虽然数据在后台已经发生改变,但是页面缓存中并没有改变,对于相同的URL,Ajax提交过去以后,浏览器还只是简单的从缓存中拿数据,这种情况当然就不行了。
四、解决Ajax缓存问题的方法
解决这个问题最有效的办法是禁止页面缓存,有以下几种处理方法:
1、在ajax发送请求前加上 xml>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)