当前位置: 首页 > Web前端 > HTML5

TCP-IP基础知识总结学习(一)

时间:2023-04-05 15:04:58 HTML5

了解web和网络基础知识1.简要背景介绍:CERN(欧洲核子研究组织)的TimBernersLee博士提出了一种能在相距甚远的研究人员之间共享知识的想法.初步设想的基本思想是:借助多个文档之间相互关系形成的超文本(HyperText),将它们连接成一个相互参照的WWW(WorldWideWeb,万维网)。提出了三种WWW构建技术,即:以SGML(标准通用标记语言)作为页面文本标记语言的HTML(超文本标记语言);HTTP;指定文档所在的URL(UniformResourceLocator,统一资源定位器)。名称WWW是当时Web浏览器用来浏览超文本的客户端应用程序的名称。现在用来表示这一系列的集合,也可以简称为Web。2、TCP/IP网络基础:定义:TCP/IP是与互联网有关的各种协议族的总称。分层:TCP/IP协议族分为以下四层:应用层、传输层、网络层和数据链路层。(分层的好处:每一层内部都可以自由设计,当某个地方的设计需要改变时,必须整体更换所有部分。)应用层应用层决定了向用户提供应用服务时的通信活动。TCP/IP协议族中预存了各种常用的应用服务。例如FTP(FileTransferProtocol,文件传输协议)和DNS(DomainNameSystem,域名系统)服务就是其中的两种。HTTP(HypertextTransferProtocol,超文本传输??协议)协议也在这一层。传输层传输层为上层应用层提供网络连接中两台计算机之间的数据传输。传输层有两种不同的协议:TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDataProtocol,用户数据报协议)。网络层(又名网际网络层)网络层处理网络上的数据包流。数据包是通过网络传输的最小数据单位。这一层规定了到达对方计算机的路径(即所谓的传输路由),将数据包传送给对方。当通过多台计算机或网络设备与另一台计算机进行传输时,网络层的作用是在众多选项中选择一条传输路径。链路层(又名数据链路层、网络接口层)处理连接到网络的硬件部分。包括控制操作系统、硬件设备驱动程序、NIC(NetworkInterfaceCard,网络适配器,即网卡),以及光纤等物理可见部分(也包括连接器等所有传输介质)。硬件的范围在链路层的范围内。3、通信传输流:当使用TCP/IP协议族进行网络通信时,会通过层级顺序与对方进行通信。发送者从应用层往下走,接收者从应用层往上走。接收端服务器在链路层接收数据,依次向上层发送,一直到应用层。当它传输到应用层时,就可以看作是真正接收到了客户端发送的HTTP请求。发送方在层与层之间传输数据时,每经过一层,就必须标上该层所属的头信息。反之,当接收端在层与层之间传输数据时,每经过一层就会擦除相应的header。这种对数据信息进行封装的做法称为封装。三、与HTTP相关的主要协议(TCP、IP、DNS)1、负责传输的IP协议IP(InternetProtocol)互联网协议位于网络层。Internet协议这个名称听起来有点夸张,但确实如此,因为几乎所有使用Internet的系统都使用IP协议。IP协议的作用是相互传送各种数据包。要确保确实发送给对方,需要满足各种条件。两个重要的条件是IP地址和MAC地址(媒体访问控制地址)。IP地址是指分配给节点的地址,MAC地址是指网卡所属的固定地址。IP地址可以与MAC地址配对。IP地址可以变,但MAC地址基本不变。使用ARP协议(AddressResolutionProtocol,地址解析协议)与MAC地址进行通信,根据通信对方的IP地址可以查到对应的MAC地址。在到达通信目标之前的中转过程中,计算机、路由器等网络设备只能学习到很粗略的传输路径。这种机制称为路由,其机制如图所示:2.保证可靠性的TCP协议:TCP位于传输层,提供可靠的字节流服务。所谓字节流服务(ByteStreamService)是指,为了方便传输,将一大块数据以段(segment)为单位分成数据包进行管理。可靠的传输服务是指能够准确、可靠地向对方传输数据。总之,TCP协议为了更容易传输大数据,对数据进行了划分,TCP协议可以确认数据是否最终交付给了对方。TCP协议采用三次握手(three-wayhandshaking)策略,它使用TCP标志(flag)——SYN(同步)和ACK(确认)。发送方首先向对方发送一个带有SYN标志的数据包。接收端收到后返回一个带有SYN/ACK标志的数据包来表示确认信息。最后,发送方发回一个带有ACK标志的数据包,表示“握手”结束。如果在握手过程中的某个阶段出现莫名中断,TCP协议会以相同的顺序再次发送相同的数据包。附上一张图更容易理解:3.负责域名解析的DNS服务:用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址访问。DNS协议提供通过域名查找IP地址,或从IP地址反向查找域名的服务。使用下图来理解IP协议、TCP协议和DNS服务在使用HTTP协议的通信过程中的作用4.URI和URL1。定义:URI(UniformResourceIdentifier,统一资源标识符),URI协议方案表示的资源的位置标识符。协议方案是用于访问资源的协议类型的名称。使用HTTP协议时,协议方案为http。此外,还有ftp、mailto、telnet、file等。URL(UniformResourceLocator,统一资源定位符),URL就是使用网络浏览器访问网页时需要输入的网页地址。2.关系:URI用字符串来标识一个Internet资源,URL表示资源所在的位置(Internet上的位置)。可见URL是URI的子集。3、URI格式表示指定的URI,使用绝对URI、绝对URL和相对URL覆盖所有必要的信息。相对URL是指从浏览器中的基本URI指定的URL。绝对URI的格式,如/image/logo.gif,使用http:或https:等协议方案名来指定访问资源时的协议类型。字母不区分大小写,并在末尾附加冒号(:)。您也可以使用data:或javascript:来指定数据或脚本程序名称。登录信息(认证):指定用户名和密码作为从服务器获取资源时必须的登录信息(认证)。此项目是可选的。服务器地址:使用绝对URI时必须指定要访问的服务器地址。地址可以是DNS可解析名称,如hackr.jp,或IPv4地址名称,如192.168.1.1,或[0:0:0:0:0:0:0:1]用方括号括起来的IPv6地址名称。服务器端口号:指定服务器连接的网络端口号。此项也是可选的,如果用户省略它,将自动使用默认端口号。分层文件路径:指定服务器上的文件路径以定位特定资源。这类似于UNIX系统的文件目录结构。查询字符串:对于指定文件路径下的资源,可以使用查询字符串传入任意参数。此项目是可选的。片段标识符:片段标识符通常用于标记获取的资源中的子资源(文档中的位置)。但是,RFC中并未明确指定其用途。此项目也是可选的。