❤网络跨域报错篇http

❤网络跨域报错篇http

1、常见的网络错误类型

(1)服务端错误:

服务器返回了错误的数据或未正常响应请求。可以通过查看服务端的日志或与后端开发人员进行沟通来解决这个问题。

(2)跨域问题:

浏览器处于安全考虑,禁止跨域的请求。可以使用CORS(跨域资源共享)解决此问题,或在开发环境下使用代理转发进行开发。

Vue在进行网络请求时,默认是不允许跨域的,域是指在Web应用程序中,通过XMLHttpRequest或Fetch等方式请求其他域的资源。如果你的Vue应用和API服务器的域名不一致,就会出现跨域问题,从而导致网络错误。

解决跨域问题有以下几种方法:

在服务器端设置响应头,允许跨域请求。

使用反向代理服务器,将API请求转发到同一域名下,避免跨域问题。

使用JSONP进行跨域请求,JSONP是一种简单的跨域解决方案。

(3)网络连接问题:

网络连接不稳定,导致请求失败。可以尝试刷新页面或者检查网络连接是否正常。

(4)HTTPS问题:

如果项目使用HTTPS协议,而请求的接口不支持HTTPS,就会出现网络错误。可以检查接口是否支持HTTPS,如果不支持,可以尝试将项目改为HTTP或更换接口。

(5)防火墙问题:

防火墙可能会阻止请求,尤其是在企业内网环境中。可以联系系统管理员或网络管理员解决此问题。

(6)代理问题:

如果你的网络需要使用代理才能访问外网,且代理设置不正确,就会导致网络错误。可以检查代理设置是否正确并进行修改。

(7)DNS问题:

DNS(Domain Name System)是将域名转换为IP地址的系统。如果DNS服务器出现故障或配置不正确,就无法正确解析域名,会导致网络错误。

(8)SSL证书问题:

如果Vue应用通过HTTPS协议访问服务器,那么服务器需要提供有效的SSL证书。如果服务器的SSL证书无效或过期,浏览器会提示证书错误,从而导致网络错误

(8)防火墙限制:

防火墙限制:有些网络环境下,通过防火墙或代理服务器等网络设备对网络进行管理和限制。这些设备可能会对某些请求进行阻止或拦截,导致网络错误

Access-Control-Allow-Credentials(请求头)

前后端分离的项目中碰到跨域问题报错:

Access to XMLHttpRequest at 'http://localhost/api/admin/authorizations' from origin 'http://localhost:9528' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

Access-Control-Allow-Credentials 头的作用

这个是服务端下发到客户端的 response 中头部字段,意义是允许客户端携带验证信息,例如 cookie 之类的。这样客户端在发起跨域请求的时候,就可以携带允许的头,还可以携带验证信息的头

由于客户端是请求是 axios,设置了 withCredentials: true,意思是客户端想要携带验证信息头,但是服务端设置是 'supportsCredentials' => false, 表示不允许携带信息头,错误找到了。

客户端和服务端交互的时候使用的是 token,通过 Authorization头发送到服务端,并没有使用到 cookie,所以客户端没有必要设置 withCredentials: true

axios 带cookie 怎么设置跨域

用axios请求node后台,需要带上cookie,已经配置了axios.defaults.withCredentials=true,但是问题是,项目打包成apk后前台的地址是不固定的

后台node配置跨域

js 复制代码
var corsOptions = {
	origin: ['http://localhost:8088', 'http://xxx:8080',"http://xxxx"],
	credentials:true
}

This request has been blocked; the content must be served over HTTPS.

This request has been blocked; the content must be served over HTTPS.

》》此请求已被阻止;内容必须通过HTTPS提供。

解决方式:
http更换为https

相关推荐
黄昏晓x1 小时前
Linux----网络
linux·网络·arm开发
sensen_kiss1 小时前
CAN302 电子商务技术 Pt.1 Web技术导论
前端·网络·学习
攻城狮在此1 小时前
华为LACP链路聚合配置(三层聚合)
网络·华为
AttaGain2 小时前
【Ubuntu配置VLAN网络】
linux·网络·ubuntu
网安Ruler2 小时前
DoIP (基于 IP 的诊断通信协议)分析与理解
网络·tcp/ip·汽车
线束线缆组件品替网3 小时前
Amphenol RJE1Y36610644401 CAT6A网线组件选型与替代指南
网络·人工智能·数码相机·电脑·音视频·硬件工程·游戏机
码出钞能力3 小时前
Linux的弱主机模型(TCP/IP协议的弱端系统)
linux·网络·tcp/ip
布史3 小时前
Prometheus Python Client 实操指南:从零实现自定义 Exporter
网络·python·prometheus
默|笙3 小时前
【Linux】进程信号(1)_信号产生
linux·服务器·网络
Trouvaille ~4 小时前
【项目篇】从零手写高并发服务器(七):定时器TimerWheel与线程池
运维·服务器·网络·c++·reactor·高并发·muduo库