前端网络必备知识点

跨域问题

浏览器的同源策略导致了跨域,用于隔离潜在恶意文件的重要安全机制。解决方案:

  1. jsonp ,浏览器特性:允许 script 标签加载第三方资源
  2. 在代理服务器或者后端服务设置请求字段标识,Access-Control-Allow-Origin,事实上就是放

行特定的origin字段

jsonp:由于浏览器script标签天生就可以跨域,所以我们可以通过动态设置该标签实现跨域效果,但是也只能拿到个回调函数,其中裹挟json数据。所以使用方法就是url+回调函数的方式

HTTP协议

计算机网络是必修课,这一块很重要。

http协议是基于tcp协议的一种请求响应协议,一个报文主要由请求行、请求头部、空行和请求数据组成,通过调试工具F12我们也可以看到到具体报文的结果。请求方法有多种,get,post是最常见的,其他的可以多了解一下。还有一些和这个协议有关的,比如状态码(1XX-5XX),缓存规则等。又由于是基于tcp协议的,请求难免经过三次握手与四次握手,还要遇到拥塞控制,快启动等操作。另外提一下,http1.1提供了持续性的链接,有效降低握手消耗,比方说H5的一个websocket特性,它就是一种持续性的连接。

URL解析流程

这一个相对而言比较复杂:

首先,url通过dns服务器变成了ip地址,接着,就是tcp连接了,三次握手。这里提一下,请求来的数据从A到B也经历了一个过程,主要是路由协议OSPF、RIP等协议不断查询下一跳,找到目标,还要通过NAT协议把把ip转成内网ip,这还没完,还要有个ARP协议查找MAC地址的过程。这数据才成功从A回到了B。拿到数据后,浏览器解析数据,先构建DOM树,然后解析相关的CSS,再与DOM树结合,构成渲染树,然后通过内核渲染成我们看到的页面,js代码会在不同阶段执行,这个取决于编写者。

Get和Post区别

这个很多博文有详细讲,我主要提关键点:

get不安全,留有缓存,历史记录

post相对安全,无缓存,还可以传大数据

HTTP和HTTPS的区别

后者多了ssl证书,很多步骤都经过了加密,所以安全很多,毕竟有认证

XSS与CSRF

XSS是跨站脚本攻击,是最普通的web安全漏洞,攻击者通过注入恶意脚本达到攻击目的。有点类似sql注入,只要前端不注意过滤,就会执行输入的代码,后果严重。

防御方法:尽可能地让字符复杂,进行多重加密,转义,不用明文。

CSRF是跨站访问伪造,简单讲就是欺骗浏览器去执行非用户意愿的行为,比如诱骗支付。

防御方法:对于跨站的访问,要重重排查,对于敏感操作格外小心。

总的来说,再严的防御也有漏洞,保持良好的编码习惯很重要。

发布了23 篇原创文章 · 获赞 0 · 访问量 562

猜你喜欢

转载自blog.csdn.net/CSDN_Yong/article/details/104815098