读书笔记:《图解HTTP》——了解 Web 及网络基础

1.使用 HTTP 协议访问 Web

当我们在Web浏览器的地址栏中输入URL时,Web网页是如何呈现的?

  1. 在浏览器地址栏内输入URL之后,信息会被送往某处。
  2. 使用 HTTP 协议访问 W然后从某处获得的回复,内容就会显示在Web网页上。

Web网页不能凭空显示出来。根据Web浏览器地址栏中URL,Web浏览器从Web服务器端获取文件资源等信息,从而显示Web页面。

通过发送请求获取服务器资源的Web浏览器,都可称为客户端。

Web使用一种名为HTTP的协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是指规则的约定。可以说,Web是建立在HTTP协议上通信的。

HTTP通常被译为超文本传输协议,更严谨的译名应该为超文本转移协议。

2.HTTP的诞生

2.1为知识共享而规划的Web

CERN的Tim Berners Lee博士提出了一种能让远隔两地的研究者们共享知识的设想。最初设想是借助多文档之间相互关联形成的超文本,连成可互相阅览的WWW(World Wide Web,万维网)。

WWW构建技术:

  1. 把SGML作为页面的文本标记语言的HTML
  2. 作为文档传递协议的HTTP
  3. 指定文档所在地址的URL

WWW:Web浏览器当年用来浏览超文本的客户端应用程序时的名称。现在则用来表示这一系列的集合,简称Web。

2.2Web成长时代

  1. 1990.11:CERN研发了世界上第一台Web服务器和Web浏览器。
  2. 1992.9:日本的第一个网页的主页上线了。
  3. 1993.1:现代浏览器的祖先NCAS研发的Mosaic问世。
  4. 1994.12:网景Netscape Navigator1.0。
  5. 1995:微软发布IE1.0和2.0。
  6. 2000:网景衰落。
  7. 2004:Mozilla发布Firefox,第二次浏览器大战随机爆发。

2.3驻足不前的HTTP

  1. 1990:HTTP问世。那时的HTTP并没有作为正式的标准被建立。这时的HTTP其实含有HTTP/1.0之前版本的意思,因此被称为HTTP/0.9。
  2. 1996.5:HTTP/1.0,正式作为标准发布。
  3. 1997.1:HTTP/1.1,目前最主流的HTTP协议版本。

当年HTTP协议的出现主要是为了解决文本传输的难题。

3.网络基础TCP/IP

通常使用的网络是在TCP/IP协议族的基础上运作的。而HTTP属于它内部的一个子集。

3.1TCP/IP协议族

计算机于网络设备要相互通信,双方就必须基于相同的方法。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,即为协议。

与互联网相关联的协议集合起来总称为TCP/IP。

3.2TCP/IP的分册管理

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

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

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

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

在传输层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据报协议)

网络层(又名网络互连层):用来处理在网络上流动的数据包。

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

链路层(又名数据链路层,网络接口层):用来处理连接网络的硬件部分。

包括控制操作系统、硬件的设备驱动、NIC(网卡)、光纤等物理可见部分(连接器等一切传输媒介)。

3.3TCP/IP通信传输流

发送端从应用层往下走,接收端从链路层往上走。

eg:

  1. 作为发送端的客户端在应用层(HTTP协议)发出一个想看某个web页面的HTTP请求。
  2. 在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  3. 在网络层,增加作为通信目的地的MAC地址后转发给链路层。
  4. 接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层,才算真正接受到由客户端发送过来的HTTP请求。

发送端在层与层之间传输数据时,每经过一层就会被打上一个该层的首部信息。

接收端在层与层之间传输数据时,每经过一层就会把对应的首部消去。

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

4.1负责传输的IP协议

IP协议的作用:把各种数据包传送给对方。

IP地址:节点被分配到地址。

MAC地址:网卡所属的固定地址。

IP地址可以和MAC地址进行配对。

IP地址可变换,但MAC地址基本不会更改。

IP间的通信依赖MAC地址。在网路上通信双方在同一局域网内的情况很少,一般是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会采用ARP协议(Address Resolution Protocol)。ARP是一种用以解释地址的协议,根据通信方的IP地址就可以反查出对应方的MAC地址。

没有人能够全面掌握互联网中的传输状况。到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗鲁的传输路线。这种机制称为路由选择。

4.2确认可靠性的TCP协议

TCP位于传输层,提供可靠的字节流服务。将大部分数据分割成以报文段为单位的数据包进行管理。TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。

确保数据能到达目标

为了准确无误地将数据送达目标,TCP采用了三次握手策略。

  1. 发送端发送一个带SYN标志的数据包给对方。
  2. 接收端收到后,回传一个SYN/ACK标志的数据包以示传达确认信息。
  3. 发送端再回传一个带ACK标志的数据包,代表“握手”结束。

若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。

5.负责域名解析的DNS服务

DNS服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。eg:www.hackr.jp解析成对应的IP地址20X.189.105.112。

6.各种协议与HTTP协议的关系

7.URI和URL

7.1 URI 统一资源标识符

Uniform:规定统一的格式可方便处理多种不同类型的资源
Resource:可标识的任何东西
Identity:可标识的对象

URI就是由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。

URI用字符串标识某一互联网资源,URL标识资源的地点。URL是URI的子集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值