程序员培训课程之计算机进阶指南图解网络系统v3.0

上传人:沧海****19 文档编号:265877336 上传时间:2022-03-14 格式:PPTX 页数:440 大小:38.38MB
返回 下载 相关 举报
程序员培训课程之计算机进阶指南图解网络系统v3.0_第1页
第1页 / 共440页
程序员培训课程之计算机进阶指南图解网络系统v3.0_第2页
第2页 / 共440页
程序员培训课程之计算机进阶指南图解网络系统v3.0_第3页
第3页 / 共440页
程序员培训课程之计算机进阶指南图解网络系统v3.0_第4页
第4页 / 共440页
程序员培训课程之计算机进阶指南图解网络系统v3.0_第5页
第5页 / 共440页
点击查看更多>>
资源描述

《程序员培训课程之计算机进阶指南图解网络系统v3.0》由会员分享,可在线阅读,更多相关《程序员培训课程之计算机进阶指南图解网络系统v3.0(440页珍藏版)》请在金锄头文库上搜索。

1、前这本书写的络知识主要是向程序员的,因为我本身也是个程序员,所以涉及到的知识主要是关于程序员常 作或者试的络知识。常适合有点络基础,但是不怎么扎实,或者知识点串不起来的同学,说这本图解络就是为了拯救半桶 的同学出来。因为我写的图解络就四个字, 通熟易懂!相信你在看这本图解络的时候,你的感受会是:当然,也适合试突击络知识时拿来看,不敢说 100 % 涵盖了试的络问题,但是少 90% 是有的,且内 容的深度应对也是搓搓有余的,有常多的读者跑来感激我的图解络,帮助他们拿到了国内很多线 的 offer。卧槽,原来是这样,学师教知识原来是这么理解 卧槽, 我的络知识串起来了卧槽, 我感觉试稳了卧槽,相恨

2、晚很诚恳的告诉你,这本书不是教科书,是我写的图解络章的整合,所以肯定是没有教科书那么细致和全, 当然也不就不会有很多废话,且有的知识点书上看不到。这本书图解络适合什么群体呢?这本书图解络要怎么阅读呢?阅读的顺序可以不从头读到尾,你可以根据你想要了解的知识点,去看哪个章节的章就好,可以随意阅读任何 章节的章。下这张思维导图是整个电书的录结构:勘误事勘误事宜宜我是个残党,虽然今改了出第 3 个版本,但是我觉得还是会有很多错别字,所以在学习这份电书的同学, 如果你发现有任何错误或者疑惑的地,欢迎你通过下的邮箱反馈给我,我会逐个修正,然后发布新版本的 图解络 PDF,起迭代出更好的图解络!勘误邮箱:

3、、基础篇1.1 TCP/IP 络络模模型型对于同台设备上的进程间通信,有很多种式,如有管道、消息队列、共享内存、信号等式,对于不同设备上的进程间通信,就需要络通信,设备是多样性的,所以要兼容多种多样的设备,就协商出了套通的络协议。这个络协议是分层的,每层都有各的作和职责,接下来就分别对每层进介绍。在传输层会有两个传输协议,分别是 TCP 和 UDP。TCP 的全称叫传输层控制协议(Transmission Control Protocol),部分应使的正是 TCP 传输层协议, 如 HTTP 应层协议。 TCP 相 UDP 多了很多特性,如流控制、超时传、拥塞控制等,这些都是为了保证 数据包能

4、可靠地传输给对。UDP 就相对很简单,简单到只负责发送数据包,不保证数据包是否能抵达对,但它实时性相对更好,传输效率 也。当然, UDP 也可以实现可靠传输,把 TCP 的特性在应层上实现就可以,不过要实现个商的可靠 UDP 传输协议,也不是件简单的事情。应需要传输的数据可能会常,如果直接传输就不好控制,因此当传输层的数据包超过 MSS (TCP 最 报段度) ,就要将数据包分块,这样即使中途有个分块丢失或损坏了,只需要新这个分块,不新 发送整个数据包。在 TCP 协议中,我们把每个分块称为个 TCP 段 (TCP Segment)。应应层层最上层的,也是我们能直接接触到的就是应层 (Appl

5、ication Layer),我们电脑或机使的应软件都是在应 层实现。那么,当两个不同设备的应需要通信的时候,应就把应数据传给下层,也就是传输层。所以,应层只需要专注于为户提供应功能,不去关数据是如何传输的,就类似于,我们寄快递的时候, 只需要把包裹交给快递员,由他负责运输快递,我们不需要关快速是如何被运输的。且应层是作在操作系统中的户态,传输层及以下则作在内核态。传输传输层层应层的数据包会传给传输层, 传输层 (Transport Layer)是为应层提供络持的。络络层层传输层可能家刚接触的时候,会认为它负责将数据从个设备传输到另个设备,事实上它并不负责。实际场景中的络环节是错综复杂的,中间

6、有各种各样的线路和分叉路,如果个设备的数据要传输给另个设 备,就需要在各种各样的路径和节点进选择,传输层的设计理念是简单、效、专注,如果传输层还负责这 块功能就有点违背设计原则了。也就是说,我们不希望传输层协议处理太多的事情,只需要服务好应即可,让其作为应间数据传输的媒介,帮 助实现应到应的通信,实际的传输功能就交给下层,也就是络层 (Internet Layer)。当设备作为接收时,传输层则要负责把数据包传给应,但是台设备上可能会有很多应在接收或者传输数 据,因此需要个编号将应区分开来,这个编号就是端 。如 80 端通常是 Web 服务器的, 22 端通常是远程登录服务器的。对于浏览器(客户

7、端)中的每个标 签栏都是个独的进程,操作系统会为这些进程分配临时的端号。由于传输层的报中会携带端号,因此接收可以识别出该报是发送给哪个应。络层最常使的是 IP 协议(Internet Protocol), IP 协议会将传输层的报作为数据部分,再加上 IP 包头组装 成 IP 报,如果 IP 报超过 MTU (以太中般为 1500 字节)就会再次进分,得到个即将发送到 络的 IP 报。怎么分的呢?这需要配合掩码才能算出 IP 地址 的络号和主机号。那么在寻址的过程中,先匹配到相同的 络号,才会去找对应的主机。除了寻址能, IP 协议还有另个要的能就是路由。实际场景中,两台设备并不是条线连接起来

8、的, 是通过很多关、路由器、交换机等众多络设备连接起来的,那么就会形成很多条络的路径,因此当数据包 到达个络节点,就需要通过算法决定下步哪条路径。所以, IP 协议的寻址作是告诉我们去往下个的地该朝哪个向,路由则是根据下个的地选择路 径。寻址更像在导航,路由更像在操作向盘。我们般 IP 地址给设备进编号,对于 IPv4 协议, IP 地址共 32 位,分成了四段,每段是 8 位。只有个单纯 的 IP 地址虽然做到了区分设备,但是寻址起来就特别麻烦,全世界那么多台设备,难道个个去匹配?这显然 不科学。因此,需要将 IP 地址分成两种意义:络层负责将数据从个设备传输到另个设备,世界上那么多设备,该

9、如何找到对呢?因此,络层需要有 区分设备的编号。个是络号,负责标识该 IP 地址是属于哪个的; 个是主机号,负责标识同下的不同主机;数据链路数据链路层层实际场景中,络并不是个整体,如你家和我家就不属于个络,所以数据不仅可以在同个络中设备间 进传输,也可以跨络进传输。旦数据需要跨络传输,就需要有个设备同时在两个络当中,这个设备般是路由器,路由器可以通过路由 表计算出下个要去的 IP 地址。那问题来了,路由器怎么知道这个 IP 地址是哪个设备的呢?于是,就需要有个专的层来标识络中的设备,让数据在个链路中传输,这就是数据链路层 (Data Link Layer),它主要为络层提供链路级别传输的服务。

10、物理物理层层当数据准备要从设备发送到络时,需要把数据包转换成电信号,让其可以在物理介质中传输,这层就是物理层 (Physical Layer),它主要是为数据链路层提供进制传输的服务。每台设备的卡都会有个 MAC 地址,它就是来唯标识设备的。路由器计算出了下个的地 IP 地址,再 通过 ARP 协议找到该的地的 MAC 地址,这样就知道这个 IP 地址是哪个设备的了。总结总结综上所述,络协议通常是由上到下,分成 5 层没,分别是应层,传输层,络层,数据链路层和物理层。、 HTTP 篇2.1 HTTP 常常试试题题在试过程中, HTTP 被提问的概率还是较的。我我搜集了 5 类 HTTP 试常问

11、的题,同时这 5 类题跟 HTTP 的发展和演变关联性是较的,通过问 答 + 图解的形式由浅深的式帮助家进步的学习和理解 HTTP 。1. HTTP 基本概念2. Get 与 Post3. HTTP 特性4. HTTPS 与 HTTP5. HTTP/1.1 、 HTTP/2 、 HTTP/3 演变HTTP 是超本传输协议,也就是HyperText Transfer Protocol。HTTP的名字超本协议传输,它可以拆成三个部分:能否详细解释超本传输协议?超本 传输 协议HTTP 是什么?描述下HTTP 基本基本概概念念针对 HTTP 协议,我们可以这么理解。HTTP 是个在计算机世界的协议。

12、它使计算机能够理解的语确了种计算机之间交流通信的规范(两 个以上的参与者),以及相关的各种控制和错误处理式(为约定和规范)。2. 传输协字,代表的意思是必须有两个以上的参与者。例如三协议的参与者有三个:你、公司、学校三个; 租房协议的参与者有两个:你和房东。议字,代表的意思是对参与者的种为约定和规范。例如三协议规定试期期限、毁约等;租房 协议规定租期期限、每租额、违约如何处理等。1. 协议在活中,我们也能随处可协议,例如:刚毕业时会签个三协议; 找房时会签个租房协议;活中的协议,本质上与计算机中的协议是相同的,协议的特点 :数据虽然是在 A 和 B 之间传输,但允许中间有中转或接 。就好像第排

13、的同学想传递纸条给排的同学,那么传递的过程中就需要经过好多个同学(中间),这样的 传输式就从A B,变成了A N M B。在 HTTP ,需要中间遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意额外的东。针对传输,我们可以进步理解了 HTTP。HTTP 是个在计算机世界专来在两点之间传输数据的约定和规范。3. 超本HTTP 传输的内容是超本。我们先来理解本,在互联早期的时候只是简单的字符字,但现在本的涵义已经可以扩展为图、 视频、压缩包等,在 HTTP 眼这些都算作本。再来理解超本,它就是超越了普通本的本,它是字、图、视频等的混合体,最关键有超链接,能从 个超本跳转到另外个超本。

14、HTML 就是最常的超本了,它本身只是纯字件,但内部很多标签定义了图、视频等的链接,再经过浏 览器的解释,呈现给我们的就是个字、有画的了。所谓的传输,很好理解,就是把堆东从 A 点搬到 B 点,或者从 B 点 搬到 A 点。别轻视了这个简单的动作,它少包含两项要的信息。HTTP 协议是个双向协议。我们在上冲浪时,浏览器是请求 A ,百度站就是应答 B。双约定 HTTP 协议来通信,于是浏览器把请 求数据发送给站,站再把些数据返回给浏览器,由浏览器渲染在屏幕,就可以看到图、视频了。1xx1xx 类状态码属于提示信息,是协议处理中的种中间状态,实际到的较少。2xx2xx 类状态码表示服务器成功处理

15、了客户端的请求,也是我们最愿意看到的状态。200 OK是最常的成功状态码,表示切正常。如果是 HEAD 请求,服务器返回的响应头都会有 body 数据。204 No Content也是常的成功状态码,与 200 OK 基本相同,但响应头没有 body 数据。OK,经过了对 HTTP 这三个名词的详细解释,就可以给出超本传输协议这七个字更准确更有技术含 的答案:HTTP 是个在计算机世界专在两点之间传输字、图、频、视频等超本数据的约定和 规范。这种说法是不正确的。因为也可以是服务器服务器,所以采两点之间的描述会更准确。那HTTP 是于从互联服务器传输超本到本地浏览器的协议 ,这种说法正确吗?HT

16、TP 常的状态码,有哪些?206 Partial Content是应于 HTTP 分块下载或断点续传,表示响应返回的 body 数据并不是资源的全部, 是其中的部分,也是服务器处理成功的状态。3xx3xx 类状态码表示客户端请求的资源发送了变动,需要客户端新的 URL 新发送请求获取资源,也就是重定 向。301 Moved Permanently表示永久定向,说明请求的资源已经不存在了,需改新的 URL 再次访问。 302 Found表示临时定向,说明请求的资源还在,但暂时需要另个 URL 来访问。301 和 302 都会在响应头使字段 Location ,指明后续要跳转的 URL,浏览器会动定向新的 URL。304 Not Modified不具有跳转的含义,表示资源未修改,定向已存在的缓冲件,也称缓存定向,于缓 存控制。4xx4xx 类状态码表示客户端发送的报有误,服务器法处理,也就是错误码的含义。400 Bad Request表示客户端请求的报有错误,但只是个笼统的错误。403 Forbidden表示服务器禁访问资源,并不是客户端的请求出错。404 Not Found表示请求的资源

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据挖掘与识别

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号