HTTP教程:纯干货快速学习HTTP——>1,了解 Web 及网络基础

本文是从《图解HTTP》(作者:上野宣 翻译:于均良)一书整理出的HTTP干货,自己读书的话耗费的时间较长,本文有完整的知识体系,跟着学完的话你会发现你很强,(不是说跟着学完了很强,是看完后会发现HTTP 哼 辣鸡尔,当然前者也有一点 ),本文会持续更新,旨在希望大家可以用最短的时间来掌握HTTP的基础知识。

全文链接:HTTP教程:纯干货快速学习HTTP全集


1,了解 Web 及网络基础

1.1 TCP/IP 的分层管理

TCP/IP 协议分为:应用层、传输层、网络层和数据链路层。

应用层:应用层决定了向用户提供应用服务时通信的活动。
FTP(File Transfer Protocol,文件传输协议)
DNS(Domain Name System,域名系统)
HTTP 协议也处于该层。

传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
TCP(Transmission Control Protocol,传输控制协议)
UDP(User Data Protocol,用户数据报协议)

网络层(又名网络互连层)
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数
据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

链路层(又名数据链路层,网络接口层)
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。


1.2 TCP/IP 通信传输流

图片截取自《图解HTTP》
发送端的客户端在应用层(HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。

传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。

网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链
路层。

接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。


1.3 IP、TCP 和DNS
1.3.1 负责传输的 IP 协议

IP(Internet Protocol)网际协议位于网络层

IP 协议的作用是把各种数据包传送给对方。两个重要的条件是 IP 地址MAC地址(Media Access Control Address)。
IP 地址指明了节点被分配到的地址。
MAC 地址是指网卡所属的固定地址。
IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会更改。

使用 ARP 协议凭借 MAC 地址进行通信

IP 间的通信依赖 MAC 地址。

在网络上,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用 ARP 协议(AddressResolution Protocol)。

ARP 是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。
图片截取自《图解HTTP》

1.3.2 确保可靠性的 TCP 协议

TCP 位于传输层,提供可靠的字节流服务。

字节流服务(Byte Stream Service):为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
为了准确无误地将数据送达目标处,TCP 协议采用了三次握手(three-way handshaking)策略

握手过程中使用了TCP的标志(flag):SYN(synchronize)和ACK(acknowledgement)。
图片截取自《图解HTTP》
发送端首先发送一个带 SYN 标志的数据包给对方。
接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。
最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。
若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。

1.3.3 负责域名解析的 DNS 服务

DNS(Domain Name System)位于应用层的协议。它提供域名到 IP 地址之间的解析服务

DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。
图片截取自《图解HTTP》

1.3.4 各种协议与 HTTP 协议的关系

在这里插入图片描述


1.4 URI 和 URL

URI(Uniform Resource Identifier 统一资源标识符)。
URL(Uniform Resource Locator,统一资源定位符)。
URI 用字符串标识某一互联网资源,而 URL 表示资源的地点(互联网上所处的位置)。可见 URL 是 URI 的子集。

URI 格式

图片截取自《图解HTTP》
协议方案名:使用 http: 或 https: 等协议方案名获取访问资源时要指定协议类型。不区分字母大小写,最后附一个冒号(:)。

登录信息(认证):指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。此项是可选项。

服务器地址:使用绝对 URI 必须指定待访问的服务器地址。地址可以是类似 hackr.jp 这种 DNS 可解析的名称,或是 192.168.1.1 这类 IPv4 地址名,还可以是 [0:0:0:0:0:0:0:1] 这样用方括号括起来的 IPv6 地址名。

服务器端口号:指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号。

带层次的文件路径:指定服务器上的文件路径来定位特指的资源。这与 UNIX 系统的文件目录结构相似。

查询字符串:针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。

片段标识符:使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在 RFC 中并没有明确规定其使用方法。该项也为可选项。


如果你觉得对胃口的话不要忘记加关注奥,记得要复习(也就是回来多看几遍)才能真真正正的掌握HTTP,祝你早日学成出师(^ _ ^)

祝你学业有成升职加薪,2019最大锦鲤就是你!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值