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

| 导语 

手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

然后代码跑起来

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);

页面代码

<!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,正常访问。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏肖洒的博客

Java调用Python的错误

因为这篇Java调用Python 之前试过用Java调用Python,到真正用的时候才发现是一个乌龙。

1082
来自专栏ytkah

帝国cms文章页调用当前文章URL如何操作?

  前面我们讨论过dedecms文章页调用地址(当前文章URL)如何操作,作为同台竞技的帝国cms也能在文章页调用当前文章URL吗?答案是肯定的!那就随ytka...

2504
来自专栏菩提树下的杨过

Spring官网下载dist.zip的几种方法

Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想...

1717
来自专栏世玉的专栏

百度 UE 编辑器 version:1_4_3_3-utf8-jsp 版 单图片以及附件上传

网上有很多的相关资料,但是实际可以用的基本没有,大部分都是没有经过测试就互相转载,而且也不看版本号,这就给大部分真正的开发带来了很大的困惑,而且官方文档也不健全...

1131
来自专栏Android群英传

在微信撤回,别逗我了

1184
来自专栏PhpZendo

MEAN.js 文档

请至 MongoDB 官网获取 MongoDB 手册,这对了解什么是 NoSQL 和 MongoDB 大有裨益。

621
来自专栏北京马哥教育

Python爬虫实战:抓取并保存百度云资源(附代码)

寻找并分析百度云的转存api 首先你得有一个百度云盘的账号,然后登录,用浏览器(这里用火狐浏览器做示范)打开一个分享链接。F12打开控制台进行抓包。手动进行转...

3297
来自专栏深度学习计算机视觉

递归解决组合问题

比如从5个当中选2个 import java.util.Scanner; /** * Created by junyi.pc on 2017/1/25. ...

3076
来自专栏小特工作室

PB调用WebService示例(含源码)

说起PowerBuilder,可能大家都会嗤之以鼻,然后说一句:“哥们,还用呢啊”?记得以前看过的电影“功夫熊猫“里说:存在即是合理。我想说得是,世界上如果...

2259
来自专栏macOS 开发学习

macOS 应用注入开发简介与实践

本文主要介绍的是动态链接库注入的相关实践,这不仅仅局限于macOS,同时对iOS应用也具有相同的效果,希望大家可以借鉴使用.

853

扫码关注云+社区