盗链
一些网站可以盗取其他网站的图片等资源,为自己所用。
他们盗取其他网站的信息,一是不合法的,二是加重了其他网站服务器的负担。所以要采取防盗链策略。
防盗链
referer
在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。
后端用一些技术检查referer,如果referer的信息来自其他网站则重定向到指定图片或网页上。
跨域
跨域:由于浏览器的同源策略,即前端页面的地址与后端接口地址的协议、主机IP和端口号都要相同才会成功。
如果不同,则会引起错误:请求是能正常发出去,后端也可以正常响应。只不过,浏览器是把响应给拦截了。
因此,只要给响应头中添加些字段,告诉浏览器这个可以接收,就好了。
在响应头中添加如下字段可以解决跨域问题:
- access-control-allow-origin: 该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个
*
,表示接受任意域名的请求。- access-control-allow-credentials: 该字段可选。它的值是一个布尔,表示是否允许发送cookie。这个值也只能设为true,如果服务器不要浏览器发送Cookie,删除该字段即可。
- access-control-allow-methods: 该字段必需,它的值是逗号分隔的一个字符串,表明服务器支持的所有跨域请求的方法。
代理
客户端-代理-服务器,代理就是个中间商,有代理我们可以间接访问服务器,也可以通过代理拦截,获取请求信息和响应信息等。
代理IP
从代理服务器上获取的ip
作用:
1. 通过代理IP接入互联网时,你可以进行添加IP白名单,设置访问权限等任意操作,来保持上网环境在一个相对安全和可控的范围;
2. 隐藏自己的真实IP地址,以对个人信息进行保护;
3. 解除访问限制;
PAC模式
PAC会先预先创建访问规则的文本,文本内已经创建好了需要网络代理的连接地址,例如YouTube,Facebookd等需要网络代理节点访问的地址。
就是,国内网站依旧走本地网络,绝大部分海外网站都走代理节点访问,互不干扰。
游戏联运
游戏联运全称是游戏联合运营。
游戏联合运营顾名思义就是指网络游戏研发厂商,以合作分成的方式将产品嫁接到其他合作平台之上运营,即研发厂商提供游戏客户端、游戏更新包、充值系统、客服系统等必要资源,合作平台提供平台租用权、广告位等资源进行合作运营。
SDK
SDK就是手游渠道(如应用宝、小米应用商店、华为应用商店等)提供的集成了账号注册登录、充值、防沉迷、游戏公告、分享、社区入口、push消息、数据上报、礼包或折扣券等功能的一个集合。
相当于游戏开发者直接调用他们的SDK就行,不用自己写支付,防沉迷之类的接口了。
埋点
埋点就是为了采集数据,在产品的某些地方提前埋伏好,来获取数据。
可以用来调查用户大都喜欢点击哪个按钮,哪个功能,从而着重对该按钮,和该按钮内的内容进行优化。
cookie和session
cookie:
浏览器—发请求—>服务器—生成cookie,在响应头中携带cookie给浏览器—>浏览器保存cookie——>浏览器—再次请求携带cookie—>服务器:通过cookie中携带的数据,区分不同用户
session:
浏览器第一次发请求时,服务器会生成特殊的cookie,cookie的name为JSESSIONID的固定值,value为session对象的ID。
将该cookie发送给客户端。浏览器再次发请求时,携带该cookie,服务器根据它的value(sessionID)去查询session对象,从而区分出不同的用户。
区别:
1. cookie由服务器生成,保存在浏览器中;session由服务器生成,保存在服务器中;
2. cookie只要不关闭浏览器,cookie变量则一直有效;
服务器也可设置cookie的有效值,cookie会保存在客户端的硬盘上;下次访问网站时,浏览器先检查有无cookie,如果有则读取cookie后发给服务器;
3. session会在一定时间内保存在服务器上,但比较占用服务器性能;
4. cookie不是很安全,别人获取你本地的cookie进行cookie欺骗;
5. cookie的客户端限制是3K,cookie存储不能超过3K;
6. 重要信息eg.登录信息等,放在session中保存;其他需要保留的信息可放在cookie中。