持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天
web及网络基础
web
web使用http(HyperText Transfer Protocol)超文本传输协议(应为超文本转移协议,为约定俗成的错翻)
HTTP属于 TCP/IP协议的子集
TCP/IP协议分层: 分层设计好处在于某个协议发生改变时候只要把对应层替换掉即可,不用全部替换
从上到下: 应用层 传输层 网络层 数据链路层
应用层
应用层向用户提供应用服务,如: FTP(File Transfer Protocol 文件传输协议) DNS(Domain Namne System 域名系统) HTTP也位于该层
传输层(TCP)
传输层提供(网络连接的)计算机的数据传输,如: TCP(Transmission Control Protocol 传输控制协议) UDP(User Data Protocol 用户数据报协议)
网络层(IP)
网络层处理网络上流动的数据包(网络传输的最小单位)
数据链路层
数据链路层 用来处理网络硬件部分,如: 设备驱动 NIC(Network Interface Card 网络适配器 即 网卡) 光纤
应用层→传输层→网络层→数据链路层
发送端自上而下,接收端自下而上
以HTTP为例,发送过程 1.在 应用层 客户端(HTTP协议)发出想看某个Web界面需求 2. 在 传输层 TCP协议将应用层处收到的报文进行分割 并在各个报文上打上 标记序号 和端口号 后 转发给网络层 3. 在 网络层 增加MAC地址(通信目的地) 转发给 链路层
称之为 封装(encapsulate) 像是一种层层套娃: 发送端层层传输信息时,打上首部信息 应用层: +HTTP报文 【HTTP数据】 传输层: +TCP首部 【TCP首部【HTTP数据】】 网络层: +IP首部 【IP首部【TCP首部【HTTP数据】】】 链路层: +以太网首部 【以太网首部【IP首部【TCP首部【HTTP数据】】】】
反之,接受端层层传输信息时,会把对应首部消去。