HTTP与TCP/IP
感兴趣的可以去阅读《图解HTTP》一书,本博文主要参考该书并且加入一些面试的知识点。
1.使用HTTP协议访问web

WWW(World Wide Web,万维网)是 Web 浏览器当年用来浏览超文本的客户端应用 程序时的名称。现在则用来表示这一系列的集合,也可简称为 Web。3 项 WWW 构建技术,分别是:把 SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的 HTML(HyperText Markup Language,超文本标记语言); 作为文档传递协议的 HTTP ;指定文档所在地址的 URL(Uniform Resource Locator,统一资源定位符)。
Web 页面当然不能凭空显示出来。根据 Web 浏览器地址栏中指定的 URL,Web 浏览器从 Web 服务器端获取文件资源(resource)等信息,从而显示出 Web 页面。Web 使用一种名为 HTTP(HyperText Transfer Protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是指规则的约定。可以说,Web 是建立在 HTTP 协议上通信的。
HTTP 正式作为标准被公布是在 1996 年的 5 月,版本被命名为 HTTP/1.0,1997 年 1 月公布的 HTTP/1.1 是目前主流的 HTTP 协议版本。
2.网络基础TCP/IP
通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作的。而 HTTP 属于它内部的一个子集。TCP/IP 是指 TCP 和 IP 这两种协议。还有一种说法认为,TCP/ IP 是在 IP 协议的通信过程中,使用到的协议族的统称。
2.1 TCP/IP的分层管理
TCP/IP 协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。一说到分层管理,我们会麻绳想到七层,四层和五层,那么OSI的七层协议和TCP/IP的四层协议以及五层协议的关系是什么?(这里我们进行说明)。

OSI(Open System Interconnection)七层协议是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,是法律上的国际标准,是完整的网络模型,该分层模型的优点是每一层的功能都很详细,具有通用性,适合描述各种网络,同时它的缺点也很明显,就是层次过多导致过于复杂,技术不成熟且实现困难。而TCP/IP主要针对互联网通信问题,它是在先有协议之后才建立的模型,虽然是不太完整的网络模型,但是比较精简有效,因此它占领大多数市场。综合OSI七层模型和TCP/IP四层模型的优点产生了五层协议的体系结构,既简洁又能将概念阐述清楚。
TCP/IP层次化的好处:第一点就是分层后遇到变动只需要替换变动层,有效性提升。比如,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层之后只需把变动的层替换掉就可以了。把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动了。 第二点就是层次化之后,设计变得相对简单了。比如说处于应用层的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方、对方的传输路线是怎样的、是否能确保传输送达等问题。
这里我们先介绍一下TCP/IP协议族各层的作用,感兴趣的可以了解一下其他模型,基本都是相通的,是上三层和下四层。
(1)应用层
应用层决定了向用户提供应用服务时通信和交互的规则。 TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统)服务就是其中两类。 HTTP 协议也处于该层。我们把应⽤层交互的数据单元称为报⽂。
(2)传输层
传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。 由于⼀台主机可同时运⾏多个线程,因此传输层有复⽤和分⽤的功能。所谓复⽤就是指多个应⽤层进程可同时使⽤下⾯传输层的服务,分⽤和复⽤相反,是传输层把收到的信息分别交付上⾯应⽤层中的相应进程。在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议)。(后面会有关于TCP和UDP的区别)
本文深入介绍了HTTP协议及其与TCP/IP协议族的关系,详细解析了TCP/IP的四层模型,包括应用层、传输层、网络层和链路层。重点讲解了TCP的三次握手和四次挥手过程,以及TCP如何通过校验和、序列号、确认应答、超时重传、连接管理和流量控制保证可靠传输。此外,还阐述了DNS服务在域名解析中的作用。
最低0.47元/天 解锁文章
38万+

被折叠的 条评论
为什么被折叠?



