browser

browser

闹心的变量

前言 JS 的本质?复读机?忍者! “躺好吧!”js 老大拿起一旁的咖啡,对函数说道。 “好!” js 老大按下工作台旁的按钮,函数眼中射出两道光芒,投在了工作台前的白幕。工作台一旁,出现了一个小盆,里面空空如也。 “来吧,开始执行!”老大狠狠的抿了一口手中的咖啡,按下了工作台侧边的按钮。 嘿!你好 工作台上方的白幕上出现了函数保存的第一行代码: let num1 = 1; 老大大手一挥,造了个新数据:1,分配到了变量大厅的 0x007 号单间,于此同时工作台旁的小盆内出现了一个身影,头上标着 num1,身上写着 0x007。 “嘿!小不点,你好呀!”老大对刚出现的身影挥了挥手。 “你才是小不点!” num1 挥了挥那只小手,呛了老大一句。 老大嘿嘿一笑,摇了摇头。“不管你了,继续执行!

By Breeze

browser

JS 的本质?复读机?忍者!

烦死了! “你说你们人类烦不烦!前几天就一直在打开这个网页,今天又打开了!这个网页啊!” 说着 javascript 老大 拍了拍自己的脑袋,叹道:“哎,这个网页的 javascript 执行任务,我实在是不想接了!这样子下去,我的头发可不保咯!” “哎!算了!谁让我不是浏览器的老大呢,干活,干活!” javascript 老大拿起一旁的的 javascript 语法解释器,将 html 解析器 送过来的 javascript 文本解释并执行了起来。 不一会,空荡荡的变量大厅开始有了声响,声音逐渐变的嘈杂起来,甚至传出了吵闹声! 执行大厅的大屏幕上也充斥着当前执行大厅各种各样的信息。 焦急 “叮铃 ~ 叮铃 ~ 叮铃 ~ ” 一旁的电话突然响了起来,js 老大顺手按下了免提。 “怎么这么慢啊!这都过去好几秒了!我这边还等着解析 html 呢!” 电话一头穿来了

By Breeze

browser

你是什么垃圾?

警告 “警告!警告!警告!” JavaScript 执行大厅传出了刺耳的警告声。 “报告:内存即将溢出,请及时清理无效的内存占用,释放资源!” 伴随着阵阵的警告铃声,大厅正中的大屏幕上显示出了警告信息。 “什么情况?这页面才打开了一会会,内存的消耗就这么大?这都已经去了好几次了!” JavaScript 主线程,也就是 JavaScript 执行大厅的老大疑惑的说道:“看来又得去变量大厅瞧瞧了!” 说着,JavaScript 主线程放下了手头的工作,赶忙往 变量大厅 走去。 变量大厅 “挤死了,你过去点!” 还未到 变量大厅 的 JavaScript 老大远远就听到了这骂骂咧咧的声音。 “不行啊,那边已经挤满了变量!” “挤一挤啊,我这半只脚还在外面呢!” “什么!你在说一遍!太吵了听不清!” JavaScript 老大发现事情即将恶化,要是在不及时清理的话,这些变量就要反了,下意识的 JavaScript 主线程跑了起来。

By Breeze

browser

Chrome 的秘密实验

还能更快! “咚咚咚” 浏览器老大的门被敲响了三次,“谁啊!” “我!” TCP 喊道,“还有我!” HTTP 随后接道。 “进来吧,都有什么事啊?” 说着,浏览器老大放下了手头的工作。 “你来说吧!毕竟是你想到的。” TCP 对 HTTP 说道。 “那我就不客气了!老大,还记得之前提的让请求变快的方式吗?” “当然,首先是缓存,然后是长连接,接着你们自己还定了个 pipelining 对吧?怎么啦?难不成又有新发现!” 浏览器老大两眼开始放光。 “emmm 那个 pipelining 不是很好用。不过确实,我们有新发现!这几天,我和 TCP 仔仔细细的研究了下发现还可以提升,这不是过来和你讨论讨论!” HTTP 显得有点兴奋。 回忆 故事开始在一周前。 “TCP 你提的这个 pipelining

By Breeze

browser

HTTP 的手术室

来客 时间定格在早上 6 点,伴随着 “哒哒哒” 的声响,浏览器地址栏出现了 https://breeze.red 浏览器知道,又是一个早高峰来袭。 “各部门就绪!” 浏览器老大,一声令下,各部门都开始做起了准备工作。 “去 HTTP 服务部,记住你的请求方式是 GET,还有这些请求头也一起拿走。” 伴随着 Enter 的输入,浏览器老大对新生成的 URL 说道。 “浏览器老大让我来找你!” URL 飞奔到我的办公室说道。 “好,请求方式?” 我一看时间,早上 6 点,知道早高峰即将来临,赶忙说道。 “GET” “请求头有吗?” “有!URL 拿出一个袋子说道。” “OK” 说着,我拿起放在一旁的麻醉针,一针下去,URL

By Breeze

browser

要强的 TCP

圆桌会议 “又到了一月一次的总结大会,大家说说最近工作上出现的问题吧。” 浏览器老大坐在圆桌最前端,说道:“好意见赶紧提,吐槽也可以说。” “我!我!我!” TCP 喊道。 “嗯,你说。” “上次你们优化请求,怎么没叫上我呢?对于请求速度优化我也有点想法!” TCP 说道。 “上次啊,我其实也就是到 HTTP 那儿抱怨了一句,主要还是 HTTP 和他服务器的朋友一起弄好的。” 浏览器老大看了 HTTP 一眼,眼中满是得意,转头看向 TCP 说道:“说说你的想法吧。” “上次你们弄缓存时,我也仔细的查看了一下通过我发送的报文,总结出来一个规律。” 说着 TCP 拿出了事先准备好的一张图,并投到了圆桌对面的屏幕上。 “大家请看,这是用户打开 https://breeze.red 时,通过我发送的一系类请求,我按域名进行了分类。” 说着

By Breeze

browser

缓存 - 一个奇妙的想法

太慢了! “HTTP 你过来一下,有件事想和你商量商量!” 浏览器老大晃悠到了 HTTP 的手术室中说道。 “怎么有空过来,正忙着呢,快坐。” 说着,我放下手中的器具,抽出放在一旁的凳子。 “不了不了,我就想了解了解情况,门口还有还多 URL 等着你发送呢!” 浏览器老大叹了口气。 我一看门外,吓了一跳,门口的 URL 都已经围着我的手术室绕了一圈了。“什么情况?” 我问道。 “这个页面的 HTTP 请求有点多啊!” 浏览器又叹了口气,缓缓的说道:“你想想有什么办法能快一点?” “这我也没有办法呀,我这只有 6 个人,要不你加点?” “不行啊,浏览器空间太小了,操作系统老大不愿意在派人过来了,算了,你先忙,我想想办法!” 浏览器老大一脸的无奈。 协商 手术室外的 URL 慢慢的减少,大概过了 500ms

By Breeze

browser

TCP 实习笔记

计算历:7e3 年 af 月 5e 日。天气:晴。在 Chrome 实习的第一天。 终于摆脱学校开始在 Chrome 实习啦,真是不错的一天,网络很好,没有丢包情况出现,现实的情况也没老师说的那么糟糕嘛。 前辈的工作台也太炫酷了吧,就是不知道在 FireFox 实习的同学怎么样,IE 那的同学,估计是手动操作吧!哈哈!! 今天用这工作台发了不少报文,工作台用起来比学校里手动操作报文快了不少,但基础不能忘,今天没什么需要记录的,就复习下 TCP 报文基础吧。 TCP,Transmission Control Protocol,传输控制协议,传输层的一个协议,其目的为:在复杂网络情况下(不可靠的 IP 协议下),提供一个可靠的字节流传输通道。 可靠意味着数据的完整,也就是,在网络连通的情况下,排除一切可能的错误,

By Breeze

browser

老司机 - TCP

新人拜访 “您好,我是 TCP 服务的实习生,刚培训完,请问您就是 TCP 老司机吗?” 正坐在办公室悠闲喝着咖啡的我,差点一口喷出来,“哦哦,行,你终于来啦,看来几天前的资源申请通过了啊,老司机?” “浏览器老大这么叫你的,说你厉害,靠谱的很。” “好吧,既然来了,赶紧准备准备!这你的工作台。” 我放下手中的咖啡,走到了一个靠窗的工作台,指了指。 “好嘞。” 说着,刚来的小伙子走了过来。 工作台 “好多工具啊,这个通道是什么,这儿还有个钟?都怎么用呀?” 小伙子满脸好奇的问道。 “这样吧,从左到右,我一一给你说说。” “首先,最左边呢,是个通道,这里会蹦出应用层需要我们发送的数据。最常见的就是 HTTP 那小子的报文了。” “了解,我们的工作就是发送应用层的数据。原来不需要我们自己去拿啊!” “旁边呢就是扫描机,你需要根据实际情况把数据进行扫描,

By Breeze

browser

URL - hash 的委屈

诞生 午夜的钟声已经响了 11 次,伴随着浏览器地址栏的输入 https://breeze.red/yi-ge-url-de-zi-shu/#%E8%8B%8F%E9%86%92,一个 URL 被浏览器创建,当然 URL 的 Hash 口袋里装的就是我,正式介绍下我自己: 我是一个 Hash,就是普普通通的一个字符串,没有特定的格式,是 URL 的一部分,只是不太被人们所关注罢了。 拦截 突然间,浏览器收到了 Enter 指令,“嗡嗡嗡” 整个浏览器大厅发出阵阵警报。 “HTTP 服务已准备就绪,随时可以发送请求。” HTTP 服务自信满满的说道。 “URL 快带上你的包裹,去 HTTP 那儿吧” 浏览器老大说道。

By Breeze

browser

一个 URL 的自述

苏醒 虽说现在是凌晨 3 点,但 breeze.red 所在的服务器却收到了一个请求:https://breeze.red 。伴随着警报响起,睡梦中的服务器冷不防打了个激灵。 “快告诉我,你的传输协议是什么?” “咦?你是在问我吗?” 我回答道。 “这里只有你一个,难不成我问空气?哦这里空气是比较稀薄,你还好吧?” 服务器见我迷迷糊糊的样子问道。 “我是谁,我在哪里?” 刚睡醒的我有点失忆。 “你是一个 URL,这是我的地盘,刚被网卡送到这,都忘了吗?” “哦,对,我是一个 URL 大概 10 毫秒前被浏览器创建,并送出,终于到你这啦,这是我的传输协议 HTTP 给你。” 在经历了一次长眠后,我想起了自己的使命,去服务器要一张网页。 “好,HTTP 服务,你过来下,

By Breeze