图解HTTP-第1章(Web及网络基础)笔记

1.1  使用HTTP协议访问Web

          

          

1.2  HTTP诞生

 1.2.1  为知识共享而规划Web

1989年3月份,HTTP诞生了。CERN(欧洲核子研究组织)的蒂姆·伯纳斯 - 李博士突出了一种能让远隔两地的研究者们共享知识的设想。最初设想的基本理念是:借助多文档之间相互关联形成的超文本(HyperText),连成可相互参阅的WWW(World Wide Web,万维网)。现在已提出了3想WWW构建技术,分别是:把SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言);作为文档传递协议的HTTP;指定文档所在位置的URL(Uniform Resource Locator,统一资源定位符) 。

WWW这一名称,是Web浏览器当年用来浏览超文本的客户端应用程序时的名称。现在则用来表示这一系列的结合,也可检测为Web。

1.2.2  驻足不前的HTTP

HTTP/0.9 :1990年问世

HTTP/1.0 :1996年5月,记载于RFC1945。

HTTP/1.1 :1997年1月公布,当初标准是RFC2068,之后发布的修订版RFC2616。

1.3  网络基础TCP/IP

通常使用的网络(包括互联网)实在TCP/IP协议族的基础上运作的。而HTTP属于它内部的一个子集。

1.3.1  TCP/IP协议族

协议(protocol):计算机与网络设备要互相通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由那一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议。

像这样把互联网相关联的协议集合起来总称为TCP/IP。也有说法认为,TCP/IP是指TCP和IP这两种协议。还有一种说法认为,TCP/IP是在IP协议的通信过程中,使用到的协议族的统称。

1.3.2  TCP/IP 的分层管理

TCP/IP协议族里重要的一点就是分层。TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。

应用层

应用层决定了向用户提供应用服务时通信的活动。

TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。

传输层

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

在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。

网络层(又名网络互连层)

网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。盖层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方

链路层(又名数据链路层,网络接口层)

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

1.3.3  TCP/IP通信传输流

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

1.4  与HTTP关系密切的协议:IP、TCP和DNS

1.4.1  负责传输的IP协议

按层次分,IP(Internet Protocol)国际协议位于网络层。TCP/IP协议族中的IP指的就是网络协议,“IP”是一种协议,跟“IP地址”是两回事。

IP协议的作用是把各种数据包传送给对方。其中两个重要的条件是IP地址和MAC(Media Access Control Address)地址。

IP地址(可变换)指定了节点被分配到的地址,MAC地址(基本上不会变)是指网卡所属的固定地址。

1.4.2  确保可靠性的TCP协议

按层次分,TCP位于传输层,提供可靠的字节流服务。

所谓的字节流服务是指,为了方便运输,将大块数据分隔成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠的传给对方。即,TCP协议为了更容易传送大数据才把数据封,而且确保数据能到达目标。

为了准确无误地将数据送达目标处,TCP协议采用了三次握手策略。用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会想对方确认是否成功送达。

握手过程中使用了TCP的标志(flag)——SYN(synchronize)和ACK(acknowledgement)

注:除了三次握手,TCP协议还有其他各种手段来保证通信的可靠。

1.5  负责域名解析的DNS服务

DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

1.6  各种协议与HTTP协议的关系

1.7  URI和URL

与URI(统一资源标识符)相比,我们更熟悉URL(Uniform Resource Locator,统一资源定位符)。URL正是使用Web浏览器等访问Web页面时需要输入的网页地址。

1.7.1  统一资源标识符(URI)

Uniform:规定统一的格式可方便处理多种不同类型的资源,而不用根据上线文环境来识别资源指定的访问方式。

Resource:资源的定义是“可表示的任何东西”。

Identifier:表示可标识的对象。也称为标识符。

综上所述,URI就是由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。如:采用HTTP协议时,协议方案就是http。

1.7.2  URI格式

 

登录信息(认证)

指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。

服务器地址

地址可以是类似的hackr.jp这种DNS可解析的名称,也可以是IPv4地址,或者类似[0:0:0:0:0:0:0:1]这种IPv6地址名。

服务器端口号

指定服务器连接的网络端口号。

带层次的文件路径

指定服务器上的文件路径来定位特指的资源。

查询字符串

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

片段标识符

使用片段标识符通常可标记出已获取资源中的资资源(文档内的某个位置)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值