1.什么是HTTP
HTTP(HyperText Transfer Protocol,超文本传输协议)是WEB使用的协议规范,完成从客户端到服务端数据传输的规则约定 。WEB是 建立在HTTP上通信的。
2.网络基础TCP/IP
互联网通常是在TCP/IP协议族下运作的,而HTTP是其下的子集。
2.1TCP/IP的分层管理
TCP/IP协议族最重要的就是分层管理,分为以下四层:应用层、传输层、网络层和链路层。
应用层:决定了向用户提供应用服务时通信活动,比如FTP、DNS、HTTP协议都处于该层。
传输层:提供处于网络连接的两台机器之间的数据传输。传输层有两个性质不同的协议,TCP(Transmission Control Protocol,传输控制协议)和UDP(,User Data Protocol,用户数据报协议)。
网络层:处理网络上流动的数据包。数据包是网络传输的最小单位。该层规定了通过怎样的路径到达对方计算机并把数据包传给对方。
链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC、及光纤等。
3.和HTTP关系密切的协议:IP、TCP、DNS
3.1负责传输的IP协议
IP协议处于网络层。注意要区分“IP”和“IP地址”。IP协议的作用是把各种数据包传送给对方。而要确保确实能传送给对方需要满足各种条件,其中最重要的两个条件就是IP地址和MAC地址。
3.2确保可靠的TCP协议
按层次划分TCP协议处于传输层,提供可靠的字节流服务。
字节流是指将大数据切分成以报文段为单位的数据包进行管理。可靠是指TCP能准确确认对方是否成功接受。
为了确保数据包到达目的地,发送端需要和接收端通过TCP协议进行三次握手:
3.3负责域名解析的DNS服务
以层次划分,DNS位于应用层。它提供IP和域名之间的解析服务。
因为IP地址的纯数字对于人类来说太难记,但是计算机更适合记忆纯数字的IP地址,所以需要DNS服务将域名解析成对应的IP地址以供计算机识别。
总结:当一个网址在浏览器上输入时,首先DNS服务会将域名转换为对应IP地址,之后客户端向该IP地址的服务器发起HTTP请求,该请求将分割为报文段可靠地传输给服务器(TCP三次握手),期间IP协议负责搜索IP地址一边找一边中转,服务器收到请求后就会将请求的数据返回给客户端 (数据回传同样参考TCP/IP协议),之后用户就能在浏览器上看见网页啦。