三项 WWW(World Wide Web,万维网)构建技术:
- HTML(HyperText Markup Language,超文本标记语言)
- HTTP(HyperText Transfer Protocol,超文本传输协议)
- URL(Uniform Resource Locator,统一资源定位符)
网络基础 TCP/IP
不同硬件、操作系统间的通信都需要一种规则,通常称之为协议 protocol 。TCP/IP 集合了互联网相关联的所有协议。
TCP/IP 协议族分为四层:
- 应用层:决定了向用户提供应用服务时通信的活动。比如 HTTP、FTP、DNS 等位于该层。
- 传输层:负责处于网络连接中两台计算机之间的数据传输。它包括两个性质不同的协议:TCP 和 UDP 。
- 网络层:确定两台计算机传输数据的路径,因为其之间可能存在众多网络设备。
- 链路层:处理网络连接的硬件部分。
分层的好处:当某个地方需要改变设计时,只需关心其所在的那层。每一层只需关心自己的任务。
IP
IP(Internet Protocol)协议位于网络层,是个非常重要的协议。
IP 协议负责将数据包传输给对方,且要保证确实传送到对方,这需要两个重要条件:
- MAC 地址(Media Access Control Address)- 网卡所属的固定地址,基本不会更改。
- IP 地址 - 指明节点被分配到的地址,可以变换,可以和 MAC 地址配对。
IP 间通信依赖 MAC 地址。通信时会采用 ARP(Address Resolution Protocol)协议,根据 IP 地址反查出对应的 MAC 地址。
TCP
TCP 位于传输层,提供可靠的字节流服务。字节流服务会把大块数据分割为小的数据包再进行传输。
为了确认数据是否送达给目标,TCP 采用了三次握手策略:
- 发送端发送一个带 SYN 标志的数据包给对方。
- 接收方回传一个 SYN/ACK 标志的数据包表示确认。
- 发送端再回传一个 ACK 标志的数据包,代表“握手”结束。
除了三次握手,TCP 还有别的策略保证通信的可靠。
DNS
DNS(Domain Name System)服务位于应用层,提供域名到 IP 地址之间的解析服务。
计算机可以被赋予 IP 地址,也可以被赋予主机名和域名。通常用户也是用主机名或域名访问对方的计算机,而不是 IP 地址。
URI 和 URL
URL 是 URI 的子集,它用于描述资源所在的互联网位置。绝对 URI 的格式:
schema://user:pass@host:port/path?query#fragment