前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >整站HTTPS后的跨域请求 CORS是否还有效?

整站HTTPS后的跨域请求 CORS是否还有效?

作者头像
用户1258909
发布2018-07-03 15:21:04
5000
发布2018-07-03 15:21:04
举报
文章被收录于专栏:拂晓风起拂晓风起

| 导语 

手Q马上就要全量https了,很多业务都有跨域ajax请求的需求,原来使用的CORS头在HTTPS环境中还继续能用吗?我搜遍了谷歌、百度,都没看到有明确的答案,那么就自己来尝试一下吧。

关于CORS在HTTPS环境下到底效果如何,一直没找到明确的答案。在MDN等网页只能看到CORS是解决HTTP跨域的方案,或者HTTP访问HTTPS/HTTPS访问HTTP都属于跨域范围,但没有人提到两个HTTPS站点能否通过CORS互相访问。那么,就自己动手吧。

首先,使用nodejs搭建一个https服务器。

而搭建https服务器前,我们需要先手工搞个证书。

具体可以使用openssl自行创建,我参考的是:https://cnodejs.org/topic/54745ac22804a0997d38b32d

然后代码跑起来

代码语言:javascript
复制
const https = require('https');
const fs = require('fs');

const options = {
    key: fs.readFileSync('./cert/ca-key.pem'),
    cert: fs.readFileSync('./cert/ca-cert.pem'),
    passphrase: '123456'
};

https.createServer(options, function (req, res) {
    res.writeHead(200);
    res.end(fs.readFileSync('./https.html'));
}).listen(443);
代码语言:javascript
复制

页面代码

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    /* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */
    //这里省略10000字节的代码,自行补充吧
</script>

<script>
    $.get('//imgcache.qq.com/zzapp/health/js/config/qqhealth_score_strategy.json', function (ret) {
        console.log(ret);
    });
</script>
</body>
</html>

这次测试的域名是weather.mp.qq.com,ajax访问的域名是imgcache.qq.com,原来http时代,已经做好了cors授权了。

那么运行后,能看到打印的json信息,就表示正常访问。

好了,等了半天,估计大家只需要一个答案:OK,正常访问。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-08-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档