本文共 7166 字,大约阅读时间需要 23 分钟。
Tags: 计算机网络
两种主流 应用程序体系结构:
客户-服务器体系结构(CS)
P2P 体系结构
客户和服务器进程
进程与计算机网络之间的接口
进程寻址
TCP 服务
UDP 服务
因特网运输协议所不提供的服务
非持续连接
持续连接
GET /boyfriend/memory.html HTTP/1.1 Host: www.xinxin.org Connection: close User-agent: Chrome/57.0 Accept-language: ch 1 2 3 4 5
第一行叫做 请求行,其后继的行叫做 首部行。
GET
、POST
、HEAD
、PUT
和 DELETE
。绝大部分报文使用 GET
方法。Host: www.xinxin.org
指明了对象所在的主机。Connection: close
要求服务器发送完请求的对象后就关闭该连接。User-agent: Chrome/57.0
用来指明用户代理,即向服务器发送请求的浏览器的类型。Accept-language: ch
指明了用户想要得到该对象的中文版本。下图是请求报文的通用格式
首部行后面的 实体体(Entity body),在使用 GET
方法时为空,使用 POST
方法时才使用该实体体。
HTTP/1.1 200 OK
Connection: close Date: Tue, 09 Aug 2011 15:44:04 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT Content-Length: 6821 Content-Type: text/html …状态码 | 状态信息 | 含义 |
---|---|---|
200 | OK | 请求成功,信息在返回的响应报文中 |
301 | Moved Permanetly | 请求的对象已经被永久转移了,新的 URL 定义在相应报文的 Location:首部行中。客户软件将自动获取新的 URL。 |
400 | Bad Request | 一个通用差错代码,指示该请求不能被服务器理解 |
404 | Not Found | 请求的文档不在服务器上 |
505 | HTTP Version Not Supported | 服务器不支持请求报文使用的 HTTP 协议版本 |
下图是响应报文的通用格式
cookie 的工作过程如下图
If-Modified-Since:
首部行。If-Modified-Since:wed,7,Sep 2011 09:23:24
,该条件 GET 告诉服务器,仅当自该日期后该对象被修改过,才发送该对象。若没有被修改过,服务器仍发送一个响应报文,但并不会在报文中包含所请求的对象,它告诉缓存器可以使用其本地的对象。分布式、层次数据库
因特网上的主机的标识有2种方式
1、 主机名,如www.baidu.com 2、 IP地址,如xxx.xxx.xxx.xxx这两种标识其实指代的是同一样东西,就如你父亲叫你全名和叫你儿子是一样的一个道理。那为什么需要2种标识呢?
因为我们人类喜欢主机名这种便于记忆的标识,而对路由器来说,它更喜欢定长的、有层次结构的IP地址。我们在浏览器的地址上输入网址时都是输入其主机号。所以我们需要一种能进行主机名到IP地址转换的服务,也就是域名系统(Domain Name System,DNS)。DNS协议运行在UDP上,使用53号端口。
DNS也是应用层协议,它通常会被其他应用层协议所使用,包括HTTP、SMTP和FTP。
DNS除了将主机名转换为IP地址,还有以下服务
1、识别主机别名(用于HTTP、FTP) 2、识别邮件服务器别名(用于SMTP) 3、负载分配DNS服务器采用分布式、层次数据库
与Web缓存器一样,DNS服务器同样有缓存器。
相比于客户-服务器体系结构,P2P具有自扩展性,表现在对等方N越大,最小分发时间也趋于平缓。这种自扩展性的直接成因是:对等方除了是比特的消费者外还是它们的重新分发者。
转载地址:http://umcib.baihongyu.com/