跨域访问方法和内容分发网络边缘服务器技术

技术编号:39750964 阅读:6 留言:0更新日期:2023-12-17 23:49
本申请实施例公开了一种跨域访问方法和内容分发网络边缘服务器,用于提升接口性能

【技术实现步骤摘要】
跨域访问方法和内容分发网络边缘服务器


[0001]本申请涉及通信
,尤其涉及一种跨域访问方法和内容分发网络边缘服务器


技术介绍

[0002]内容分发网络
(content delivery network

CDN)
,是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,使用户就近获取所需内容,以降低网络拥塞,提高用户访问响应速度和命中率

随着业务的发展,越来越多的中国公司开始实施出海战略,将服务部署到不同海外区域,为当地民众提供服务

由于隐私数据保护或法律法规等原因,在业务出海场景中,部分数据不能部署在边缘服务器,而仍需回源服务器获取,终端浏览器部分资源请求存在跨站点调用的情况

[0003]基于浏览器同源策略,在终端发送跨域资源请求前,需要先向源服务器发起探测请求,以获取源服务器的安全配置信息

由于出海业务中,终端与源服务器之间物理距离遥远,向源服务器发起请求时延较长,终端每次向源服务器获取资源请求之前都进行一次探测请求会增加用户的等待时间,影响用户体验

[0004]现有技术中,为减少用户的等待时间,通过源服务器侧网关统一资源的对外接口路径,终端在首次探测请求发起之后,将获取的跨域信息在本地缓存,在跨域信息的生效期内不再重复触发指向同一接口路径的探测请求

[0005]由于源服务器侧网关统一接口路径,实际指向不同源服务器的资源请求在请求路径中显示为同一名称,而无法轻易识别其真实请求路径,可能导致业务出现问题时难以定位


技术实现思路

[0006]本申请提供了一种跨域访问方法和内容分发网络边缘服务器,可减少用户等待时间,提升用户体验

[0007]本申请的第一方面提供了一种跨域访问方法,应用于内容分发网络
CDN
边缘服务器,所述方法包括:拦截终端发送的跨域访问的探测请求;根据所述探测请求确定所述跨域访问对应的源服务器的安全设置信息;向所述终端返回所述探测请求的响应消息,所述探测请求的响应消息携带所述安全设置信息,所述安全设置信息用于指示所述终端发送跨域访问请求

[0008]本申请提供的跨域访问方法,内容分发网络中的边缘服务器对来自终端浏览器的探测请求进行拦截及响应,返回终端的响应消息中携带安全设置信息,用于指示所述终端发送跨域访问请求,可避免探测请求回源,由此可以减少探测请求回源带来的时延,可减少用户等待时间,提升用户体验

也避免了源服务器侧网关统一接口路径来带的业务出现问题时难以定位的问题

[0009]在第一方面的一种可能的实现方式中,所述方法还包括:接收所述终端发送的所
述跨域访问请求,所述跨域访问请求的头部基于所述安全设置信息设置;向所述源服务器转发所述跨域访问请求;接收并向所述终端转发所述跨域访问请求的响应消息

[0010]本申请提供的跨域访问方法,边缘服务器向终端返回的响应消息中携带安全设置信息,终端可以基于该安全设置信息确定是否发送跨域访问请求,
[0011]在第一方面的一种可能的实现方式中,所述安全设置信息,包括以下字段中的一个或多个:身份凭证
credentials
字段,所述
credentials
字段指示是否允许跨域访问;首部
headers
字段,所述
headers
字段指示所述跨域访问请求可携带的请求头;资源访问域
origin
字段,所述
origin
字段指示允许访问的前端域名;访问方法
methods
字段,所述
methods
字段指示允许使用的访问方法

[0012]本申请提供的跨域访问方法,可以根据实际应用场景确定安全设置信息包括的具体字段,在一种可能的实现方式中,安全设置信息包括
credentials
字段
、headers
字段
、origin
字段和
methods
字段

[0013]在第一方面的一种可能的实现方式中,在向所述终端返回所述探测请求的响应消息之前,所述方法还包括:根据所述安全设置信息设置所述探测请求的响应消息的响应头

[0014]在第一方面的一种可能的实现方式中,所述根据所述探测请求确定所述跨域访问对应的源服务器的安全设置信息,包括:根据所述探测请求的头部信息和跨域访问名单确定所述安全设置信息

[0015]本申请提供的跨域访问方法,边缘服务器可预设跨域访问名单,具体可由开发人员进行设置及维护,或者通过其他方式获取跨域访问名单并存储于该边缘服务器

[0016]在第一方面的一种可能的实现方式中,所述跨域访问名单包括允许访问的域名对之间的访问关系;根据所述探测请求的头部信息和跨域访问名单设置所述跨域信息,包括:若所述跨域访问的源域名与目的域名的访问关系储存于所述跨域访问名单内,则设置所述跨域信息中的
credentials
字段为允许

[0017]本申请提供的跨域访问方法,根据探测请求的头部信息确定跨域访问的源域名和目的域名,以及访问关系,例如第一域名访问第二域名,然后在跨域访问名单中进行查找,若符合则设置
credentials
字段为允许

[0018]在第一方面的一种可能的实现方式中,所述拦截终端发送的跨域访问的探测请求,包括:接收所述终端发送的第一超文本传输协议
http
请求;若所述第一
http
请求的请求方法为
options
请求,则拦截所述第一
http
请求

[0019]本申请提供的跨域访问方法,边缘服务器可基于
http
请求的请求方法进行判断,对于
options
请求进行拦截,对于其他请求方法例如
post
请求则予以放行

可以使得探测请求被拦截,而跨域访问请求正常回源

[0020]本申请的第二方面提供了一种
CDN
边缘服务器,所述服务器包括:拦截模块,用于拦截终端发送的跨域访问的探测请求;确定模块,用于根据所述探测请求确定所述跨域访问对应的源服务器的安全设置信息;收发模块,用于向所述终端返回所述探测请求的响应消息,所述探测请求的响应消息携带所述安全设置信息,所述安全设置信息用于指示所述终端发送跨域访问请求

[0021]在第二方面的一种可能的实现方式中,所述收发模块还用于:接收所述终端发送的所述跨域访问请求,所述跨域访问请求的头部基于所述安全设置信息设置;向所述源服...

【技术保护点】

【技术特征摘要】
1.
一种跨域访问方法,其特征在于,应用于内容分发网络
CDN
边缘服务器,所述方法包括:拦截终端发送的跨域访问的探测请求;根据所述探测请求确定所述跨域访问对应的源服务器的安全设置信息;向所述终端返回所述探测请求的响应消息,所述探测请求的响应消息携带所述安全设置信息,所述安全设置信息用于指示所述终端发送跨域访问请求
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述终端发送的所述跨域访问请求,所述跨域访问请求的头部基于所述安全设置信息设置;向所述源服务器转发所述跨域访问请求;接收并向所述终端转发所述跨域访问请求的响应消息
。3.
根据权利要求1或2所述的方法,其特征在于,所述安全设置信息,包括以下字段中的一个或多个:身份凭证
credentials
字段,所述
credentials
字段指示是否允许跨域访问;首部
headers
字段,所述
headers
字段指示所述跨域访问请求可携带的请求头;资源访问域
origin
字段,所述
origin
字段指示允许访问的前端域名;访问方法
methods
字段,所述
methods
字段指示允许使用的访问方法
。4.
根据权利要求1至3中任一项所述的方法,其特征在于,在所述向所述终端返回所述探测请求的响应消息之前,所述方法还包括:根据所述安全设置信息设置所述探测请求的响应消息的响应头
。5.
根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述探测请求确定所述跨域访问对应的源服务器的安全设置信息,包括:根据所述探测请求的头部信息和跨域访问名单确定所述安全设置信息
。6.
根据权利要求5所述的方法,其特征在于,所述跨域访问名单包括允许访问的域名对之间的访问关系;根据所述探测请求的头部信息和跨域访问名单设置所述跨域信息,包括:若所述跨域访问的源域名与目的域名的访问关系储存于所述跨域访问名单内,则设置所述跨域信息中的
credentials
字段为允许
。7.
根据权利要求1至6中任一项所述的方法,其特征在于,所述拦截终端发送的跨域访问的探测请求,包括:接收所述终端发送的第一超文本传输协议
http
请求;若所述第一
http
请求的请求方法为
options
请求,则拦截所述第一
http
请求
。8.
一种
CDN
边缘服务器,所述服务器包括:拦截模块,用于拦截终端发送的跨域访问的探测请求;确定模块,用于根据所述探测请求确定所述跨域访问对应的源服务器的安全设置信息;收发模块,用于向所述终端返回所述探测请求的响应消息,所述探测请求的响应消息携带所述安全设置信息,所述安全设置信息用于指示所述终端发送跨域访问请求
。9.
根据权利要求8所述的服务器,其特征在于,所述收发模块还用于:
接收所...

【专利技术属性】
技术研发人员:黄中举李林锋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1