简单来说浏览器可以分为两个部分,shell+内核,其中shell的种类比较多,内核的种类则比较少。

Shell是指浏览器外壳:菜单、工具栏等;主要提供给用户操作,参数设置等,调用内核实现各种功能。

内核是浏览器的核心,基于标记语言显示内容的程序或模块。可分两部分,渲染引擎和JS引擎,负责渲染网页内容,计算网页的显示方式,不同内核的渲染效果不同。JS引擎则执行javascript实现网页的动态效果。

阅读全文 »

同源策略

源:源由协议,域名和端口号组成,若url地址的协议、域名和端口号均相同则属于同源。

同源策略:浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对象自资源。其阻止的是数据的接受而不是请求的发送

不受同源策略限制:
页面中的链接,重定向以及表单提交;
可以引入跨域资源,但js不能读写加载内容。 如嵌入到页面中的<script src="..."></script><img><link><iframe>等。

跨域:受同源策略的限制,不同源的脚本不能操作其他源下面的对象,想操作另一个源下面的对象就是跨域。

阅读全文 »

浏览器与服务器之间美好约定

过桥米线的传说

相传,清朝时滇南蒙自市城外有一湖心小岛,一个秀才到岛上读书,秀才贤慧勤劳的娘子常常弄了他爱吃的米线送去给他当饭,但等出门到了岛上时,米线已不热了。
后来一次偶然送鸡汤的时候,秀才娘子发现鸡汤上覆盖着厚厚的那层鸡油有如锅盖一样,可以让汤保持温度,如果把佐料和米线等吃时再放,还能更加爽口。
于是她先把肥鸡、筒子骨等熟好清汤,上覆厚厚鸡油;米线在家烫好,而不少配料切得薄薄的到岛上后用滚油烫熟,之后加入米线,鲜香滑爽。
此法一经传开,人们纷纷仿效,因为到岛上要过一座桥,也为纪念这位贤妻,后世就把它叫做”过桥米线”。

阅读全文 »

缓存是捷径,使http抄近道

Cookie 是服务器保存在浏览器的一小段文本信息。浏览器每次向服务器发出请求,就会自动附上这段信息,是前端的一种常见而又传统的缓存机制。

作用

  1. 用于保存页面信息:如自动登录,记住用户名
  2. 以域名为单位,数量大小有4k-10k,有过期时间
  3. js中通过doucment.cookie调用
  4. cookie的传递
    从服务器端,发送cookie给客户端,是对应的Set-Cookie头信息。包括了对应的cookie的名称,值,以及各个属性。
    从客户端发送cookie给服务器,对应Cookie头信息,不发送cookie的各个属性,只发送对应的名称和值。
阅读全文 »

夜晚的钟声慢慢敲起。
原始丛林狼群双眸诡异的光芒。
无处安放的灵魂也回归平静。

教徒合诵古老冗长的咒语。
祭坛的封印一步步被封开。
古墓冰尸发出阵阵哀嚎。
锁链断裂,癫狂抑制不住。
屠杀活动的序幕早已开始。

2019/01/09 | 分类: 基础技术 | 2 条评论 | 标签: https

译文出处: oschina | 原文出处:freecodecamp

密码学是一门难以理解的学科,因为它充满了数学定理。但是除非你要实际开发出一套加密算法系统,否则你是没必要强制理解那些深奥的数学定理的。

如果你阅读本文的目的是想设计下一套 HTTPS 协议,那我只能抱歉的说本文的知识还远远不够;如果不是的话,那么就煮杯咖啡,轻松愉悦的阅读本文吧。

爱丽丝、鲍伯和 … 信鸽?

你在互联网上从事的任何活动(阅读这篇文章、在亚马逊上购物、上传图片等)归结到底都是从某台服务器上发送和接收信息。

这个说起来可能有点抽象,不如让我们假设这些消息都是由信鸽来传递的。我知道这个假设有些太过随意,但相信我 HTTPS 就是这样工作的,尽管它的速度快的多。

我们先不谈服务器、客户端或者黑客攻击,先来聊一下爱丽丝、鲍伯和马洛里。如果这已不是你第一次接触密码学理论,你应该会认识这些名字,因为他们经常在各种密码学文献中被提及。

一个简单的通信方式

如果爱丽丝想给鲍伯发个消息,她会把消息绑在信鸽的腿上寄给鲍伯。然后鲍伯收到了消息,并阅读了它。这一切都是美好的。

但如果马洛里拦截了爱丽丝飞翔中的信鸽并且修改消息内容呢?鲍伯将无法知道爱丽丝发来的消息已经在传输过程中被修改了。

这就是 HTTP 的工作方式,很可怕吧?我绝不会通过 HTTP 发送我的银行凭证,希望你也不会。

阅读全文 »

JavaScript 一直在不断改进和添加更多新功能。TC39 已经完成,并批准了 ES2019 的 8 项新功能。这个过程包含了 5 个阶段:

  • 第 0 阶段:稻草人
  • 第 1 阶段:提案
  • 第 2 阶段:草案
  • 第 3 阶段:候选
  • 第 4 阶段:已完成 / 已批准

第 0 阶段的提案:
https://github.com/tc39/proposals/blob/master/stage-0-proposals.md

第 1 至 3 阶段的提案:
https://github.com/tc39/proposals

第 4 阶段的提案:
https://github.com/tc39/proposals/blob/master/finished-proposals.md

废话不多说,接下来让我们来逐一介绍这些功能。

阅读全文 »

作者:Vicki Boykis | 译者:阿拉丁

阅读数:678 2019 年 3 月 2 日 | 话题:大数据 AI 最佳实践

当你看到“数据科学”这个词时,会想到什么?你可能会觉得它是统计学、机器学习、深度学习和“21 世纪最性感的工作”等关键词的组合,或者你的脑海里会浮现出一个数据科学家的形象,她坐在电脑旁,将 AB 测试得到的结果拼接在一起,又或者你听很多人说过干这行有赚不完的钱(根据权威部门统计:入门级数据科学家的平均年薪约人民币 744253 元)。无论是哪一种,它都是迷人、聪明和复杂的。

从本文作者 Vicki Boykis 十年前进入这一领域以来,数据科学一直给人这样的印象,但现在,数据科学已经不再是当初的样子了。以下内容由 AI 前线编译,原文来自 Vicki Boykis 发表于个人博客的文章《Data science is different now》。

我最初是一名数据分析师。

我是否曾经提到过我有多讨厌 Excel 默认的数字字符串格式?
——Vicki Boykis(@vboykis)2012 年 5 月 18 日

我经常是一边苦等 SQL 的运行结果、整理乱糟糟的 Excel 文件,一边看着 Hacker News 上有关海量数据挖掘的文章、Facebook 数据科学团队的新闻和谷歌首席经济学家 Hal Varian 写的文章,然后一边做着白日梦。

2012 年,我很幸运地被分配到了一个数据分析工程团队,他们正在将一些 ETL 作业从 Oracle 迁移到 Hadoop 上,以便满足不断增长的数据吞吐量要求。

阅读全文 »
0%