
网络
tscn1
这个作者很懒,什么都没留下…
展开
-
【网络层-5】路由器
在不同网络中,需要路由器转发。在网络N1中,主机A将数据先转发给路由器接口1。数据在同一个网络中传输,需要MAC地址。使用ARP协议根据IP地址拿到对应的MAC地址。原创 2022-08-14 17:17:41 · 339 阅读 · 1 评论 -
跨域解决方案
jsonp跨域服务器代码const json = JSON.stringify(result);//返回的 callback({"a":"1","b":"2"});const script = `callback(${json})`;// 设置响应头 并发送scriptres.header("content-type",'application/javascript').send(script);客户端<script> function callback(data)原创 2021-03-22 19:35:13 · 79 阅读 · 0 评论 -
websocket
socket客户端连接服务器(TCP / IP),三次握手,建立了连接通道客户端和服务器通过socket接口发送消息和接收消息,任何一端在任何时候,都可以向另一端发送任何消息有一端断开了,通道销毁http客户端连接服务器(TCP / IP),三次握手,建立了连接通道客户端发送一个http格式的消息(消息头 消息体),服务器响应http格式的消息(消息头 消息体)客户端或服务器断开,通道销毁实时性的问题:轮询客服端写一个setInterval 隔一段时间发送一次请求询问服务器数据原创 2021-03-22 18:47:31 · 162 阅读 · 0 评论 -
CSRF(跨域请求伪造)和XSS(跨域脚本攻击)的概念和防范措施
这里写目录标题CSRF(跨域请求伪造)原理:防御cookie的sameSite验证referer和Origin二次验证使用非cookie令牌XSS(跨域脚本攻击)存储型XSS反射型DOM型CSRF(跨域请求伪造)恶意网站以正常用户为媒介,通过模拟正常用户的操作,攻击其登录过的网站。原理:1. 正常用户登录后,获得正常站点的令牌,以cookie的形式保存。2. 用户访问恶意站点,恶意站点通过某种形式去请求了正常网站,然后将用户的令牌传递到正常网站,完成攻击。防御cookie的sameSite原创 2021-03-22 17:28:22 · 1154 阅读 · 0 评论 -
HTTP缓存
首先,HTTP缓存分为强缓存和协商缓存。强缓存不需要和服务器沟通,当请求发出时,浏览器会看Expires和Cache-control有没有,有的话命中缓存,返回状态码200,从缓存中获取。协商缓存会和服务器沟通,看资源有没有没改动。没有改动,返回状态码304,资源会被服务器重定向到浏览器缓存中。强缓存与强缓存相关的字段有Expires和Cache-control,由于Expires是http1.0,Cache-control是http1.1的所以Cache-control的优先级高。Expires原创 2021-03-22 16:31:21 · 649 阅读 · 0 评论 -
一张图了解SSL加密
原创 2021-03-21 20:08:46 · 281 阅读 · 0 评论 -
Mac上设置Chrome浏览器跨域
跨域前后端分离之后,联调的时候就会出现问题,那就是Ajax跨域问题。 跨域问题的解决方案有很多种比如常规的 后端使用CROS,设置允许访问接口的地址 或者 使用 JSONP等等。还可以借助Chrome浏览器,新开一个用户,解决跨域问题。步骤打开终端输入命令open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/yourname/MyChromeDe原创 2020-12-12 15:55:37 · 3501 阅读 · 0 评论 -
【2020-12-3】随笔
bind的实现实现之前,回顾一下将类数组转化为数组有哪些方法利用改变原数组的方法slice()- slice()可以不传参数,结果就是将原数组整个切割下来返回一个数组- slice(start,end),end取不到var a = [1,2,3];var b = a.slice(); //b为[1,2,3]var c = a.slice(0,2);//c为[1,2]那么将类数组转化为数组//基于slicevar arr = Array.prototype.slice.call(原创 2020-12-03 22:00:07 · 84 阅读 · 0 评论