HTTP 协议的最底层其实就是由 TCP 协议和 IP 协议书(通称 TCP/IP)搭建的。
TCP 传输控制协议(Transmission Control Protocol)
TCP的功效:确保数据的完整性和稳定性,避免网络丢包。
疑难问题:
TCP 和 UDP 的差别是啥
简单:TCP 靠谱、面向连接、相对性 UDP 比较慢;UDP 不可信,不面向连接、相对性 TCP 迅速。解决。
TCP 的三次握手是指什么意思
简单:每一次建立连接前,手机客户端和服务端以前都会先开展三次会话才宣布传送具体内容,三次会话大约是这样子的:
1. 手机客户端:我想联接你,行吗
2. 服务端:嗯,我准备好了,联接我啊
3. 手机客户端:那么我联接你咯。
4. 逐渐后边流程
上边具体内容足够应对前端面试中有关 TCP 的考试题
如果你想要更加了解 TCP 能够买一本《TCP/IP 详解(卷一)》(共三卷,先只买一卷就可以)。
但是再强调一遍,这个不是前面内容,之后课程内容中我就不会再对 TCP 出现任何涉及到,你只需略微了解一下 TCP 就可以。
IP 网络层协议(英文:Internet Protocol)
你若在互联网技术中,那么我就会有一个 IP。简单上了解,IP 分成「内网 IP」 和「外网 IP」
- 大家从电信网那边买回来网络带宽,一年一千多。
- 电信网给你提供 DNS 服务。
- 你买了一个路由器,随后用手机和电脑各自联接路由器广播节目出去无线 WIFI。
- 只需路由器连到电信网的服务器,那样路由器就会有一个「外网 IP」,例如「14.17.32.211」就是一个外网 IP。这是你在网络中地址。
- 但如果你重新启动路由器,那样你也很有「也许」被分配一个「外网 IP」,换句话说 你路由器并没有「固定外网 IP」
- 你能花每一年几千块租赁一个「固定外网 IP」,可是显而易见不会那么白花钱。像腾讯官方、阿里巴巴那样的大公司租赁了许多外网 IP,这样才可以对咱们提供相对稳定的服务。
- 但是有个难题,你路由器的外网 IP 假如是14.17.32.211,那你的电脑和手机的 IP 又是什么呢?答案就是「内网 IP」
- 路由器会在你家中创建一个内网,内网里的设备运行内网 IP,一般来说这一 IP 的形式全是 192.168.xxx.xxx。
一般路由器能给自己分派一个易记的内网 IP,如 192.168.1.1,随后路由器能给每一个内网中的机器分派一个不同类型的内网 IP,如电脑是 192.168.1.2,手机是 192.168.1.3,依此类推。
如今路由器有两种 IP,一个外网 IP(14.17.32.211)和一个内网 IP(192.168.1.1),内网中的机器可以相互浏览(例如我们可以用计算机或手机进入 http://192.168.1.1 来查询你路由器),但不能立即浏览外网,内网机器设备要想浏览外网,就需要经过路由器转站。
外网中的机器可以相互浏览(例如 qq.com 能把主页发给你路由器,你路由器有外网 IP),可是外网中的机器无法访问你内网机器设备(这很容易理解,内网是一个密闭的互联网,别人进不去,因此事实上 qq.com 没法把主页放赠给你手机和电脑)
那么问题来了,那 qq.com 是如何把主页发送至我自己的手机上面的呢?
答案就是根据路由器来转站。
路由器接受到 qq.com 页面后,把网页页面发给自己的电脑或手机。路由器懂得如何给那些信息内容引路,路由器就是一个引路人,这便是「路由器」2个字的来历。路,便是「必然选择」里的路。由,便是「必然选择」里的由(由都是经过、原因的意味)。每一个信息内容都经过路由器,然后就被偏向一条它该去这条路。
换句话说内网和外网如同2个阻隔空间,没法相通,唯一的中国联通点是路由器(由于路由器不仅有外网 IP 也是有内网 IP),因此路由器有时候也被称之为「网关ip」,这一「关」是「一夫当关,以一当十」的「关」。假如路由器到电信网的连接中断了,那样内网中每一个机器设备就无法上网了。(这很容易理解,等同于唯一一条出来的路断掉)
- 除开内网 IP 和外网 IP,两个尤其特殊 IP,便是当地 IP:127.0.0.1。当地 IP 始终表明机器设备自身。不信你能够 ping 127.0.0.1 一下,就会发现只需 0.01 ms 就获得了回应(你 ping qq.com 必须几十ms才得到回应)
默认设置前提下,hosts 文档中会有一行127.0.0.1 localhost,意思是说 localhost 偏向127.0.0.1,因此 localhost 还表示机器设备自身。不信你 ping localhost 试一下,就会发现实际上是在 ping 127.0.0.1
- 还有一个尤其特殊 IP:0.0.0.0,它不表明一切机器设备。这一 IP 不同地方含意不一样,我们以后要用到,需要用到的情况下再讲含意。
端口
你想浏览一个机器设备(前提是你应用了 TCP 或 UDP 协议书。你还记得吗,HTTP 就用了 TCP),只特定 IP 还远远不够,还务必特定端口(Port)。
端口其实就是一个序号,并不是一种硬件配置。
一个服务器(硬件配置)不一定只提供一种服务,比如一个服务器既提供 HTTP 服务,又提供 FTP 服务,还提供 SMTP 服务(电子邮件服务),那样仅用一个 IP 是很难告知服务器你想应用哪一种服务。
所以在这里有一个重要的标准:一个端口相匹配一个服务。
例如
- 要提供 HTTP 服务你建议使用 80 端口(能无法使用其他端口?能够,但是不推荐你违背承诺)
- 要提供 HTTPS 服务你建议使用 443 端口(能无法使用其他端口?能够,但是不推荐你违背承诺)
- 要提供 FTP 服务你建议使用 21 端口(能无法使用其他端口?能够,但是不推荐你违背承诺)
难题1:咋知道应当采用什么端口?
wiki百科 把 0 到 1023 号端口相对应的服务都告诉你了,点入去看看吧。
难题2:一共由是多少端口?
每一个设备一共有 65535(2的16三次方减1)个端口(这也是协议书所规定的)。但是这些端口的应用由一些要求
- 0 到 1023(2的10三次方减1)号端口是留给系统软件所使用的,只有你拥有管理权限后,才能进行这 1024 个端口。
- 别的端口能够给一般用户应用
- 如果一个端口已经提供服务,也是被消耗了,那样就不会再使用这些端口。除非是那你先停用已经占有这一端口的服务。以后你们会经常碰到这种情况。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。