Cors 什么是跨来源请求

Cors 什么是跨来源请求,cors,Cors,因此,我一直试图通过服务器代理将我的javascript webapp连接到github的API(以隐藏客户机\u机密),但我注意到,虽然我可以发出HTTP请求(GET、POST等),但我无法通过我的webapp执行这些请求。服务器驻留在以下url中:http://mydomain.com:3000而我的Web应用程序位于http://mydomain.com。当我试图使用JQuery的$.ajax来执行POST时,我得到以下错误: No 'Access-Control-Allow-Origin

因此,我一直试图通过服务器代理将我的javascript webapp连接到github的API(以隐藏
客户机\u机密
),但我注意到,虽然我可以发出HTTP请求(GET、POST等),但我无法通过我的webapp执行这些请求。服务器驻留在以下url中:
http://mydomain.com:3000
而我的Web应用程序位于
http://mydomain.com
。当我试图使用JQuery的
$.ajax
来执行
POST
时,我得到以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://mydomain.com' is therefore not allowed access.

因此,我的问题是,对不同端口但在相同域名中的请求是否被视为跨源请求

跨源请求是对不在同一端口上的您自己的服务器上的页面的任何请求

是的,对同一主机但位于不同端口的请求被视为跨源请求

术语“交叉源”中的“源”定义为url的方案、主机和端口。例如,在url中,方案是“https”,主机是“mydomain.com”,端口是“3000”


为了使请求成为同一来源请求,来源(也称为方案、主机和端口)必须匹配。所有其他请求都被视为跨来源请求。Wikipedia有一个很好的表格,显示了相同来源和跨来源请求的示例:

跨来源请求是主机、协议或端口之间的任何差异。如果它位于相同的服务器和端口,但域名不同,该怎么办?子域呢?据我所知,子域应该可以。相同的服务器和端口也可以,因为它们只是同一事物的不同名称,而不是在您自己的服务器上,在技术术语上是不特定的。问题是具体的“对不同端口但在同一域名中的请求是否被视为跨源请求”