浏览器的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开发者而言,就可以更关注业务。

浏览器对于网络安全做了什么相关推荐

  1. Deskreen – 将电脑屏幕共享到浏览器中,做第二块屏幕[Win/macOS/Linux]

    介绍: Deskreen 是一款非常实用的开源项目,它可以将你的电脑屏幕共享到浏览器中,做第二块屏幕.支持 Windows.macOS.Linux,可分享整块屏幕,或只分享某一个应用界面,支持多个浏览 ...

  2. Firefox浏览器浏览自己做的网站需要输入用户名和密码解决

    我用最新的Firefox 35.0浏览我制作的网站,就会弹出这个对话框.这是什么原因?     我一开始认为是网站配置的权限问题,因为早上电脑中毒,电脑的某些文件的权限可能修改了.仔细检查: Page ...

  3. 毕设(基于js的firefox的web安全评测系统)----给火狐浏览器安装自己做的扩展插件

    http://blog.sina.com.cn/s/blog_67353fbe0100j34p.html Firefox扩展的开发--制作工具栏按钮及右键菜单 (2010-05-08 19:50:32 ...

  4. 在浏览器中用Python做数据科学:Pyodide

    Pyodide 是Mozilla的一个实验性项目,用于创建一个完全在浏览器中运行的完整的Python数据科学技术栈. Pyodide的动机来自于Mozilla的另一个项目 Iodide的工作,在早先的 ...

  5. python调用浏览器内核_python做个谷歌内核浏览器

    源码: 1 import sys,os 2 os.chdir(os.path.dirname(os.path.abspath(__file__))) 3 from PyQt5.QtGui import ...

  6. vue监听浏览器窗口大小变化,做对应的操作

    页面初始化mounted的时候,通过document.body.clientWidth和document.body.clientHeight获取到浏览器的宽和高,然后通过 window.onresiz ...

  7. Enhancer云开发平台发布了!打开浏览器写 SQL 做配置就能一站完成系统开发

    Enhancer 是专业的一站式信息系统开发云平台 绝大多数情况下,您只需编写 SQL,无需编写代码,即可快速完成各类系统的开发,并且获得可直接部署在您私有环境的应用程序.极大降低您的开发.运维.迭代 ...

  8. 抵御风险网站防攻击,国产浏览器能做的有很多

    近几年,勒索软件攻击事件越来越多,教育和零售业.医疗保健机构.政府机构都成为攻击的受害方,勒索赎金常常高达数百万,严重影响机构的正常运营.勒索病毒一般通过程序木马.邮件.网站挂马等方式进行攻击,而浏览 ...

  9. 为了用户体验,不要做浏览器兼容

    2019独角兽企业重金招聘Python工程师标准>>> 读者看到这篇文章的标题也许会感到奇怪,按照通常的经验来说,为了用户体验应该做浏览器兼容,以便让不同的浏览器用户都能有好的体验, ...

最新文章

  1. python excel 自动化-python操作excel让工作自动化
  2. Tyznn人脸识别温度检测智能门禁系统现货发售,助力疫情防控
  3. getlab如何编辑提交时显示的用户名_GitHub 如何让你的提交显示被校验
  4. 这五部关于海洋的纪录片,每一帧都犹如壁纸!
  5. P8U8 IT这块出书门槛相对比较低
  6. 怎样看懂Oracle的执行计划
  7. python中常用的模块_Python中常用的模块
  8. PCB集成元件封装库下载推荐
  9. Java集合源码剖析-Java集合框架
  10. 北京理工珠海学院的计算机专业怎么样,北京理工大学珠海学院怎么样?北京理工大学珠海学院优势有哪些?...
  11. gsyVideoPlayer直播短视频回放,集成腾讯播放器
  12. 陶博士-陶博士投资哲学-动量效应与反转效应
  13. idea 报@Override is not allowed when implementing interface method的问题解决
  14. 网站如何防止被篡改?
  15. 浅谈 Unity、iOS、Android 闭包的使用方法
  16. 每周一品 · 直线电机(Linear Motor)中的磁性材料
  17. 我的世界java白天_我的世界切换白天的指令是什么?
  18. 使用阿里云PCDN降低内容分发成本
  19. 0 13 amp 0 17c语言,急等网址跳转大神,无用网址尾巴处理:index.php?id=13amp;amp;rew...
  20. 电子学会图形化一级编程题解析:猫捉老鼠

热门文章

  1. 24小时改变你的人生(16)
  2. html 消除td间隙,HTML 去调table表单里面td之间的间距
  3. Java语言:一辆大巴有9排4列的座位,现模拟客车售票过程(1代表“有票”,0代表“无票”)。
  4. 【笔记】行测——常识判断之科技常识总结与归纳(一)
  5. 【网络】HTTPS协议详解
  6. 关于java中空指针异常的原因及解决方法
  7. 银联支付-手机网页支付接口开发
  8. 【渝粤教育】电大中专消费者行为学 (2)_1作业 题库
  9. Arm和Unity联合推出:适用于移动应用程序的3D美术优化-[2]几何体
  10. 计算机入门游戏,计算机DIY从入门到精通:不同用户怎么选择合适自己的CPU