cookie中的跨域问题

1. 会话

1.1 会话概念

会话是指浏览器和服务器之间的多次的请求和响应,可以简单理解为一次通话中两个人互相交流的过程。

1.2 一次会话

一次会话即是指从浏览器访问服务器开始,至浏览器或者服务器任何一方断开连接(浏览器或者服务器关闭)。这里可以理解为一次通话从接通至任何一方挂掉通话。

1.3 http协议下cookie的诞生

会话中浏览器与服务器之间会产生通信数据,而由于http协议是一种无状态的协议(即请求之间是独立的,任何一次请求都不会携带上一次请求的数据),因此为了方便数据的携带(例如解决网页各种操作之前的登录校验的问题),我们可以使用cookie来存放数据(即将用户的用户名及密码信息加密后放入cookie当中)。

2. cookie

cookie是常见的一种会话跟踪方案,是指在客户端浏览器存储数据的一种会话技术,浏览器根据用户访问的服务器所作出的响应,可以在用户本地保存一小段文本信息,用来记录跟用户相关的信息(其中可以包括用户的用户名及密码等信息)。

当用户第一次访问服务器时,服务器端检测到访问请求中并未携带Cookie信息,就会通过HTTP响应头向客户端发送一个Cookie,以便浏览器下一次访问服务器时能够识别客户端大致过程如下:

3.cookie会话技术的优缺点

3.1 优点

cookie是http协议中支持的技术,使用起来较为方便。

3.2 缺点

(1)首先只有在浏览器中我们才能够使用cookie,而在一些安卓或者其他移动端的APP是无法使用cookie的。

(2)用户可以在浏览器中看到cookie,如果被有心之人拿到用户的cookie信息,就可以对用户信息进行篡改,造成一定的安全隐患。

(3)cookie是不能够进行跨域的(在下面进行解释跨域问题)。

4.cookie的跨域问题

4.1 什么是跨域

跨域是指浏览器为了安全问题而设置的同源策略,即限制浏览器的访问。

同源策略:协议、IP/域名、端口有任意一个不同,则被视为跨域。

也就是浏览器如果在A页面访问B页面的资源,而A与B的地址如果在协议、IP/域名、端口有任意一处不同,则被视为跨域访问。

4.2 cookie的跨域问题

以下图为例,当浏览器进行访问登录页面时,首先会访问到前端服务器,地址为192.168.150.200:80,在这里用户可以访问到登陆页面,而当页面产生一些点击动作时,页面则会根据对应的接口访问后端服务器,地址为192.168.150.100:8080,而在这里,页面地址与后端服务器的地址在域名、端口上都不相同,就被认作为跨域请求,而cookie是不能够进行跨域请求的。

此时如果服务端要设置一个cookie,则这个cookie是不能使用的(cookie不支持跨域访问),这就是cookie的跨域问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值