一、WEB及网络基础
1.1、 HTTP简介
HTTP:超文本传输协议。可用作客户端到服务器的一种通讯规范,TCP/IP协议族内部的一个子集。
1.2、TCP/IP
计算机与网络之间的通信,不同硬件、不同操作系统之间的通信,都需要一定的规则,把这些互联网相关联的协议集合总称为TCP/IP。
TCP/IP分层:
- 应用层:应用层决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统)服务就是其中两类。HTTP 协议也处于该层。
- 传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据
传输。在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议) - 网络层:处理网络上流动的数据包,并选择最优的数据传输路径。
- 链路层:用来处理链接网络的硬件部分。例如:操作系统、硬件驱动、网络适配器(网卡)等。
TCP/IP通信传输流:
在进行网络通信时,客户端会从应用层发送请求http信息从上到下传送到服务器,而服务器在进行自下而上的将请求信息获取到。
客户端发送的请求到服务器,每走一层就会对信息进行一次包装,而服务器获取到也就相对应的去掉这些包装,这个包装就称作为消息的封装。
1.3、TCP;IP;DNS
-
IP(Internet Protocol)负责传输的协议,在应用层级上,作用就是将各种数据包传送给对方。
保证准确传输到对方的两个重要条件是 IP 地址和 MAC地址(Media Access Control Address)。IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会更改。使用 ARP(Address Resolution Protocol) 协议凭借 MAC 地址进行通信。
在没有到达通信目的地的中转过程中,计算机和路由器等网络设备只能获取到粗略的传输路线,这种机制就成为路由选择(routing)。
-
TCP 位于传输层,提供了可靠的字节流传输服务的协议。可将大块数据传输分割成报文段形式的数据包进行管理,TCP协议可以通过三次握手协议最终确认数据是否传输到达目的地。
握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和
ACK(acknowledgement)。
发送端首先发送一个带 SYN 标志的数据包给对方。接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。
若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。
-
DNS (Domain Name System)服务是和HTTP协议一同位于应用层的协议,它提供了域名到IP地址的解析服务。
1.4、各种协议与HTTP协议的关系
1.5、URI和URL
- URI(Uniform Resource Identifier)统一资源标识符,由某个协议方案表示的资源定位的标识符
- URL(Uniform Resource Locator)统一资源定位符,URI子集,可通过URL访问到对应web网页资源。