首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

@程序员,你真得了解每天打交道的字节吗?

  • 24-03-05 02:22
  • 3447
  • 10263
blog.csdn.net

 

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | 饶全成

责编 | 郭   芮

人工智能的现状及今后发展趋势如何? 

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

大家好,给大家介绍一下,我是一个字节。相比于你们人类据说即将达到的百岁人生的寿命,我的一生简直不直一提(我只能存活零点几个毫秒)。

也许只有那些码农才会了解我,而且也只有一部分码农。那些整天做业务的猿们想来也不会真正的了解我,更别提人类其他行业的人了。

我不甘心,虽然我微不足道,但是我对人类的贡献实在是太大了。没有我的世界根本无法想像:不能听网易云音乐,不能刷抖音,不能上拼多多,所有和网络相关的活动都无法进行。

所以,今天我要讲讲我的一生,让更多的人知道我的存在,知道我的故事,也为证明自己曾经存在过吧。

 

640?wx_fmt=png

诞生

 

我的主人是一个在西二旗知名互联网公司上班的程序猿,过着1095(注:早10点晚9点,一周5天工作)的生活,很少能在晚霞中回家,自然也说不出“落霞与孤鹜齐飞”那样的句子。

这一天,他9点半到家,第一件事打开电脑,熟练地启动Chrome浏览器,在地址栏敲下一个z字符,我所有的故事就从这里开始。

当主人按下键盘上的z键时,系统产生了一个中断信号,通知CPU过来读取键盘输入,CPU读取到z后,将z发送给Chrome浏览器,Chrome收到后,将z显示到浏览器的地址栏上,同时后台搜索主人平时访问过的地址,排名第一的https://www.zhihu.com/被快速补全了。

这时主人熟练地按下了回车键,Chrome收到指令后,进行了一顿操作,在这电光火石之间,我诞生了,同时诞生的还有我的字节兄弟们。

 

640?wx_fmt=png

上路

 

话说Chorme老大哥接收到了URL后,首先拆解成自己能看懂的东西。https://www.zhihu.com会被拆解成三部分:HTTPS、www.zhihu.com、/。

HTTPS表示协议类型,通过这个Chorme老大哥知道他接下来该如何与远方的网站服务器通信;www.zhihu.com表示主机名,就是Chorme老大哥要通信的对象了;第三部分则是它要向服务器要的内容(注:这里表明是空,实际上隐含的表示主目录文件的概念)。

有了这三项,Chorme老大哥就能从服务器那里获取它想要的内容了,从而展示给我的主人。

Chorme老大哥跑到HTTP数据包生产车间,哼哧哼哧地倒腾半天,生产出了一个HTTP数据包(注:忽略HTTPS,简单起见把我们当成HTTP),这个数据包实际上就是我和我的一群字节兄弟们,我们挤在一个集装箱内,熙熙攘攘。

我们马上就要搭乘IP列车到远方的服务器,见识外面的世界了。集装箱被装上了TCP专车,它将带我们来到列车站。TCP专车很安全也很舒适,我从集装箱的缝隙中看到车前贴上了车牌:80。

到了车站,TCP专车直接开到了列车上。这样也好,IP列车上很脏,我们坐在专车上更好。只是列车还不知道具体要去哪,所以我们就只能先在列车上等着了。

不对啊,列车应该去www.zhihu.com这个网站,不是已经知道了吗?对的,但是IP列车挺笨的,也挺古板的,不认识这些字母。它只认识数字,人类称之为IP。

Chorme老大哥也有点抱怨,人类真是笨,连个IP都记不住,非得用域名来上网。害我还得拿着这个域名去问DNS老大爷,它知道所有域名对应的IP。

这不,Chorme老大哥又跑到另外一个车间——DNS数据包生产车间里倒腾出了一个DNS数据包,当然还是一群字节兄弟们,不过这里的兄弟就少一些了。它们在集装箱里叽叽喳喳,被装上了UDP敞篷车,车虽然很快,但不太安全,我这些兄弟们坐在上面,提心吊胆,生怕掉下去,因为掉下去,就永远消失了。

UDP敞篷车也直接开到了IP列车上,车前贴了车牌:53。

这回Chrome老大哥直接从操作系统大佬那要到了DNS老大爷的IP,贴到了 IP列车的车头,IP列车马上全速启动,载着我这些字节兄弟,赶到了DNS老大爷的城堡,UDP敞篷车开下列车,按照车牌号53找到了DNS老大爷的住处,从它那拿到了www.zhihu.com对应的IP。

DNS老大爷学问渊博,他也很仗义,从自己城堡里的DNS数据包生产车间造出了DNS响应包,包里也是我这些字节兄弟们,它们拿着重要的资料数据——www.zhihu.com对应的IP,坐上了另一趟返程的IP列车,而列车的终点就是我现在所在的地方。当然了,他们是由另一辆 UDP敞篷车载着他们回来的。

Chorme老大哥在车间接见了这些兄弟,非常感动。因为他们带回了 www.zhihu.com对应的IP。那些兄弟争先恐后地报告自己知道的东西,有些兄弟报告1,有些兄弟报告0,Chorme老大哥非常有经验,它把这些消息合并起来了,最终得到了它想要的IP:118.89.204.192。

Chorme老大哥拿着这个IP来到了我所在的列车前面,我激动地要叫起来了:终于我要出发了!它熟练地把118.89.204.192贴到了列车的前面,马上列车就开动了,我上路了。

IP列车的列车长在掌管着车头的方向,决定着我们的命运走向。路网非常复杂,而车头上只有一个IP地址,根本没告诉列车长应该走哪条路。这不难,富有经验的列车长根据车头的IP地址查到了下一个大站(路由器)的地址,之后再根据这个大站地址查到(ARP协议)途经的下一个小站(交换机或集线器)应该走的轨道。在每个小站,对照这个大站地址,列车长就知道该走哪条路。搞定!

经过了很多的小站,我们终于到了下一个大站了。站点的工作人员看着我们车头前的IP地址,查了下表(路由表)告诉我们下一个大站的地址,并且告诉我们途径的下一个小站应该走哪条轨道。列车长就这样,一路拿这张表,顺利地把们带到了终点:118.89.204.192。

不过,刚刚就在到终点的前一刻,列车被拦住了,一群荷枪实弹的警卫冲上来了,一些胆小的字节兄弟们都哭了,我也是屏气凝声。他们先是查看了车头的IP地址,再查看了列车长手里的表,还看了下我们的TCP专车的车牌。很快就放行了,虚惊一场!

 

640?wx_fmt=png

新生

 

到了终点站后,列车首先停下接受工作人员的检查。列车长出示了他手里的表,对了一下表上标注的下一站地址确实是:知乎。接着又看了下列车头部标注的IP地址,就算检查通过了,第一关很轻松。

接下来,我们坐的TCP专车开下列车了。进了一个TCP车牌检查站,工作人员看了下车牌号80,也挥手示意我们通过。

接着我们都下车走进了主页车间,进去后,我们先按我们身上的标号排好了位置,工作人员将我们每个人所代表的信息进行了聚拢。得到了各种关于主人的信息,比如他所用的浏览器的版本、Cookie等等信息,我知道,我们的使命完成了。果然,一道光闪过,我们都消失了,完成了我们光荣的一生。

主页车间领导马上下达生产命令:1组去仓库拉取最新话题,2组去商业中心获取今天的广告主信息……

很快,各组都完成了任务,车间在一阵轰鸣过后,新的一批字节兄弟诞生了,他们带着这些话题、广告信息,和我们当年出生的时候一样,熙熙攘攘。但是我知道,我获得了新生。

 

640?wx_fmt=png

归家

 

像我们当年一样,这些新出生的字节兄弟依次坐上了TCP专车, IP列车一路跋涉,去往我出发的地方,那是我梦开始的地方。

我所经历的,他们未曾少过一分。

 

 

640?wx_fmt=png

定格

 

Chrome老大哥终于等来了这些字节兄弟,在他们排好队后,老大哥看清了字节兄弟们代表的内容:话题(如何在西二旗地铁优雅地装逼,热度10w),广告(上午植发,下午上班)……

这些是Chrome老大哥最擅长的事情,分分钟将他们显示在了网页上。字节兄弟们终于完成了使命,定格在了Retina屏幕上。

我的主人点开第一话题后,看了一会儿。然后瞅到了到植发广告,他偷偷地开启了隐身模式,仔细地研究了起来……

 

640?wx_fmt=png

后记

 

第一次尝试这种题材的文章,供大家一乐!有写得不到位的地方,欢迎探讨!另外,推荐大家去看《网络是怎样连接的》这本书,看完可以形成对网络的整体印象,写得非常好!

作者:饶全成,中科院计算所硕士,滴滴出行后端研发工程师。

声明:本文为作者投稿,版权归其个人所有。


 

 热

2019年人工智能系统学:

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

文 推 荐 

☞ 今日头条再次宣战腾讯!

☞ 程序员装逼被怼,决定用面试证明自己,结果......

看动画轻松理解「链表」实现「 LRU 缓存淘汰算法」

☞ 如今,你感受到内存技术的“思维速度”了吗?

☞ 程序员写代码没激情该怎么破?

☞ 跨界打击, 23秒绝杀700智能合约! 41岁遗传学博士研究一年,给谷歌祭出秘密杀器!

☞ 90后美女学霸传奇人生:出身清华姚班,成斯坦福AI实验室负责人高徒

☞ 神操作!这段代码让程序员躺赚200万?给力!

 

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章

640?wx_fmt=png喜欢就点击“好看”吧!

CSDN
微信公众号
成就一亿技术人
注:本文转载自blog.csdn.net的CSDN资讯的文章"https://blog.csdn.net/csdnnews/article/details/88149009"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top