软件工程师需要了解的网络知识:从铜线到HTTP(一)—— 前言

2018 年 3 月 18 日 前端黑板报 JohnLui

JohnLui:程序员,Swift Contributor,正在写《iOS 可视化编程与 Auto Layout》。


写作目标


本文面向中国互联网界众多的“应用软件工程师”,确切地说,面向 web 后端工程师(Java、PHP),web 前端工程师,移动开发工程师(iOS、Android)。本文将从铜线讲起,一路讲到 HTTP,为大家剖析出一个真实的“网络”。


写作由来

内容来源

前两天我给一个要跳槽的做 iOS 的哥们儿讲了几个小时的网络,给他的面试铺路,在讲之前,我就意识到了这次的内容如果能够整理一下将会是一套丰富的面向软件工程师的网络教程。

为什么是我

我装系统起家,从自己搭建网站开始了解 PHP 技术,大学期间通过做外包成了一名 web 全栈,毕业后创业因为招不到满意的 iOS 于是自己动手写 Swift——当时 Swift 刚刚发布半年,基础库匮乏而且还有缺陷,于是我自己造了一堆轮子,其中就有网络库,于是我对 HTTP 有了深入的理解(实际上超级简单没啥好深入的),又搞了 HTTPS pinning,加上我自己做后端和运维,自己申请、购买、部署证书,对 HTTPS 有了一些了解;后来再次创业自己搭建办公室网络,对路由器、交换机、网关、DHCP、DNS 等的概念有了亲身体会,加上我偶尔也会从我买了不看的书堆中找出《图解 HTTP/TCP,IP/网络硬件》啥的看一看,加上这次讲解的机会,终于融会贯通了。

说说融会贯通

大学时候我对计算机的理解融会贯通的点在“编译”,最近的融会贯通在于我看了神书《CS:APP》,对计算机系统又有了更深入的理解:硬件和操作系统是密切配合的;当前 x86_64 PC 的性能大部分来自于“缓存” + “乐观” 的概念。以后有机会的话我会写文章分享一下我的理解。


本文约定


本系列文章中,我们将进行如下几个重要约定:

  1. 本文目标是让软件工程师了解网络各层的本质,而不是事无巨细什么都讲

  2. 有些部分我将会用打比方的形式讲解,目的是让读者更容易理解,而不是每个细节都完全是真实情形

  3. 如果有我理解的不对的地方欢迎在评论里指出


  4. 1     


目前5000+人已关注加入我们

       

       



前端黑板报

前端路上的益友

 



戳下面的原文阅读,更有料
登录查看更多
0

相关内容

程序员(俗称“码农”)有专业和业余之分,而软件工程师(Software Engineer)是一种比较正式的称谓,也是专业(职业)程序员的别称。软件工程师有时也被称作软件设计师。
【Manning新书】现代Java实战,592页pdf
专知会员服务
98+阅读 · 2020年5月22日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
109+阅读 · 2020年4月12日
《迁移学习简明手册》,93页pdf
专知会员服务
131+阅读 · 2019年12月9日
PyTorch  深度学习新手入门指南
机器学习算法与Python学习
9+阅读 · 2019年9月16日
我在知识星球这一年
码农翻身
10+阅读 · 2019年2月28日
100页机器学习入门完整版,初学者必备!
专知
25+阅读 · 2018年12月18日
关于机器学习你要了解的 5 件事
机器学习算法与Python学习
7+阅读 · 2018年9月7日
如何从零到一地开始机器学习 ?(附思维导图)
THU数据派
6+阅读 · 2018年4月17日
荐书丨Python数据分析从入门到精通
程序人生
18+阅读 · 2018年3月31日
7本最佳深度学习书籍,总有一本适合你
人工智能头条
6+阅读 · 2018年3月9日
从零基础成为深度学习高手——Ⅰ
计算机视觉战队
7+阅读 · 2017年12月7日
荐书丨深度学习入门之PyTorch
程序人生
18+阅读 · 2017年12月1日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Pluralistic Image Completion
Arxiv
8+阅读 · 2019年3月11日
Relational recurrent neural networks
Arxiv
8+阅读 · 2018年6月28日
Arxiv
7+阅读 · 2018年1月21日
Arxiv
26+阅读 · 2017年12月6日
VIP会员
相关VIP内容
【Manning新书】现代Java实战,592页pdf
专知会员服务
98+阅读 · 2020年5月22日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
109+阅读 · 2020年4月12日
《迁移学习简明手册》,93页pdf
专知会员服务
131+阅读 · 2019年12月9日
相关资讯
PyTorch  深度学习新手入门指南
机器学习算法与Python学习
9+阅读 · 2019年9月16日
我在知识星球这一年
码农翻身
10+阅读 · 2019年2月28日
100页机器学习入门完整版,初学者必备!
专知
25+阅读 · 2018年12月18日
关于机器学习你要了解的 5 件事
机器学习算法与Python学习
7+阅读 · 2018年9月7日
如何从零到一地开始机器学习 ?(附思维导图)
THU数据派
6+阅读 · 2018年4月17日
荐书丨Python数据分析从入门到精通
程序人生
18+阅读 · 2018年3月31日
7本最佳深度学习书籍,总有一本适合你
人工智能头条
6+阅读 · 2018年3月9日
从零基础成为深度学习高手——Ⅰ
计算机视觉战队
7+阅读 · 2017年12月7日
荐书丨深度学习入门之PyTorch
程序人生
18+阅读 · 2017年12月1日
相关论文
Top
微信扫码咨询专知VIP会员