美文网首页iOS 开发 Objective-C
第十一篇:Objective-C 知识回顾网络(互联网协议入门二

第十一篇:Objective-C 知识回顾网络(互联网协议入门二

作者: 望穿秋水小作坊 | 来源:发表于2019-11-28 11:00 被阅读0次

我们已经知道,网络通信就是交换数据包。电脑 A 向电脑 B 发送一个数据包,后者收到了,回复一个数据包,从而实现两台电脑之间的通信。数据包的结构,基本上是下面这样的:

数据包的结构

发送这个包,需要知道两个地址

  • 对方的 MAC 地址
  • 对方的 IP 地址

有了这两个地址,数据包才能准确送到接收者手中。但是,前面说过,MAC 地址具有局限性,如果两台电脑不在同一个子网络,就无法知道对方的 MAC 地址,必须通过网关(gateway)转发。


网关和子网络的关系图
问题一:你买了一台新电脑,插上网线、开机,这时电脑能够上网吗?
  • 本机的 IP 设置
  • 子网掩码设置
  • 网关IP设置
  • DNS 服务器IP设置
  • 或者采用 DHCP 协议,动态获取这些数据。
问题二:为什么有时候出现 QQ 可以正常聊天,网页输入域名却无法访问的情况?
  • 这个情况,大概率是 DNS 服务器指定错误,QQ 可以直接用 IP 地址获取数据,而网页域名需要经过 DNS 服务器解析。
问题三:HTTP 是什么?
  • HTTP 是基于 TCP/IP 协议的 应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用 80 端口。
问题三:HTTP header 常见的有哪些?
  • status code 状态码
  • Content-Type 数据类型
  • cache 缓存
  • Content-Encoding 数据压缩方法
  • Accept-Encoding 接受的压缩方法
问题四:Socket 、 TCP 、 UDP 、HTTP 的区别?
  • IP 协议对应于网络层,TCP 协议UDP 协议对应于传输层, HTTP 协议对应于应用层,三者从本质上来讲没什么可比性。
  • Socket 则是对 TCP/IP 协议的封装和应用。

相关文章

网友评论

    本文标题:第十一篇:Objective-C 知识回顾网络(互联网协议入门二

    本文链接:https://www.haomeiwen.com/subject/iwqpwctx.html