浏览器对于网络安全做了什么

浏览器的API和资源情况

我们知道我们的web应用基本都是借助浏览器打开的,这个大家应该都比较熟悉了。那么你知道浏览器的API的情况吗?其实浏览器的API有很多,也很繁杂。但是对于普通用户(浏览网页)基本不需要去掌握这些,而对于软件开发者来说,也只需要掌握其中的一小部分即可。比如基于HTML的DOM API,可以让开发者去操作web elements。再比如Javascript脚本的应用,使得浏览器web页面和后端直接通信变为了现实。

浏览器与安全

但是浏览器公开API是很谨慎的,比如和网络安全相关的网络套接字API,是不允许直接访问的。因为这样很容易进行安全攻击。
我们知道套接字是网络通信的基石,它是网络上属于不同主机的两端进行通信的两个端点,再具体一点一般套接字是由IP和端口结合的,比如127.0.0.1和80端口。
单就安全上来说,浏览器为了安全考虑会做如下事情:

  1. 限制连接数,保护客户端或者服务器端资源不会耗尽,这是一个很重要的卡点。
  2. TLS握手,除了之前提到的TCP传输连接会有3次握手,这次是加了一个TLS握手(传输层面安全套接字)
  3. 限制源头,浏览器会限制只允许哪些来源的请求才会被接受,特别是对于一些后端的API请求(比如和后端数据,redis或者nosql等存储介质有关系的请求)。
  4. cookie,我们知道,现代网站的cookie是大行其道的,一个页面请求可能客户端要保存很多cookie,这样势必会影响性能,我们可以减少cookie的体量。其实只需要保留那些和安全验证相关的cookie就可以,这样也兼顾了用户体验。
  5. 管理会话状态,可能有人不是很请求会话状态的一个概念,觉得简单的例子。当我们登录了一个微博网站,当再一个新的浏览器tab页面打开一个新的微博页面时,你的账户信息也是登录的状态;反之,如果你在其中一个tab页面退出登录,那么你在其他的tab页面也会是自动退出登录的状态。这样把会话状态管理丢给浏览器是比较明智的,对于web开发者而言,就可以更关注业务。

你可能感兴趣的:(软件开发,web安全,网络,安全)