第一章:了解Web及网络基础

    第一章 了解Web及网络基础

     发送请求获取服务器资源的Web浏览器等,都可以称为客户端。Web使用HTTP(超文本传输协议)协议作为规范,完成从客户端到服务器端等一系列运作流程,所以,我们可以说Web时建立在HTTP协议上通信的。

     现在已经提出了3项WWW构建技术,分别是:把SGML作为页面的文本标记语言的HTML(超文本标记语言),作为文档传递协议的HTTP,指定文档所在地址的URL(统一资源定位符)。

     通常使用的网络是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定,不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,我们把这种规则就称为协议。TCP/IP是互联网相关的各类协议族的总称。

1.TCP/IP的分层管理

     TCP/IP协议族按层次分别为以下四层:应用层、传输层、网络层、数据链路层。

    (1)应用层

     应用层决定了向用户提供应用服务时通信的活动。TCP/IP协议族内预存了各类通用的应用服务,比如FTP,DNS,HTTP。

    (2)传输层

     传输层对上层应用层,提供处于网络连接中两台计算机之间的数据传输。包括TCP,UDP。

    (3)网络层

     网络层用来处理在网络上流动的数据包,规定了通过怎样的传输线路到达对方计算机,并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条路线。

    (4)链路层

     用来处理连接网络的硬件部分。

2.TCP/IP通信传输流

    

     利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层上走。

     以HTTP来说明作为发送端的客户端在应用层(HTTP协议)发出一个想看某Web页面的HTTP请求;接着,为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层;在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层,这样一来,发往网络的通信请求就准备齐全了;接收端的服务器在链路层接收到数据,按照顺序往上发送,一直到应用层,当传输到应用层,才算真正接收到由客户端发送过来的HTTP请求。这样的一个过程用图表示为:

    

     发送端在层与层之间传输数据时,每经过一层必定会被打上一个该层所属的首部信息,反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。这种把数据信息包装起来的做法叫做封装。

3.与HTTP关系密切的协议

 (1)负责传输的IP协议

     IP协议的作用是把各个数据包传送给对方,而要保证确实传送到对方那里,则需要满足各类条件,其中两个重要的条件就是IP地址和MAC地址。IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址,IP地址可以和MAC地址配对。

     IP间的通信依赖MAC地址,在网络上,通信的双方在同意局域网的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方,在中转过程中利用下一站中转设备的MAC地址来搜索下一个中转目标,这时就需要用到ARP协议,它可以进行地址的解析,也就是通过通信方的IP地址就可以反查出对应的MAC地址。

     

     (2)确保可靠的TCP协议

     TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。为了准确无误的将数据送达目标处,TCP协议采用了三次握手的策略,如图所示:

    

    (3)负责域名解析的DNS服务

     用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址进行访问,而DNS服务就提供了域名到IP地址之间的解析服务。

    

     (4)各协议与HTTP协议的关系

     那么IP协议、TCP协议、DNS服务在使用HTTP协议的通信过程中各自发挥的作用如下图:    

    

4.URI和URL

     URI是由某个协议方案表示的资源的定位标识符(协议方案是指访问资源所使用的协议类型的名称)。URL是使用Web浏览器等访问Web页面时需要输入的网页地址。

     URI用字符串标识某一互联网资源,而URL表示的是资源的地点(互联网上所处的位置),所以说URL是URI 的子集。

     URI的格式:

    

     (1)使用http: 或https: 等协议方案名获取范文资源时要制定协议类型。

     (2)登录信息(认证):制定用户名和密码作为从服务器端获取资源时必要的登录信息,为可选项。

     (3)服务器地址:使用绝对URI必须指定待访问的服务器地址。

     (4)服务器端口号:为可选项,若用户省略则自动使用默认端口号。

     (5)带层次的文件路径:指定服务器上的文件路径来定位特指的资源。

     (6)查询字符串:为可选项,针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。

     (7)片段标识符:为可选项,标记出已获取资源中的子资源。

参考文献:图解HTTP(图灵程序设计丛书)

猜你喜欢

转载自www.cnblogs.com/xiaona-/p/12555216.html