一、网络应用的原理
1、网络应用的架构:客户-服务器模式(C/S模式)。对等模式(P2P)。混合体。
①Client-server结构
服务器(server):
- 始终在线的主机
- 永久IP地址
- 通常在数据中心,便于扩展
客户端(clients):
- 与服务器通信
- 可能间歇性连接
- 可能具有动态IP地址
- 不要直接相互交流
②peer-peer结构
- 没有始终在线的服务器
- 任意终端系统之间直接通信
- 每个结点可以请求服务也可以向其他对等方提供服务
- 参与的对等主机间歇性连接且可以更改IP地址(也让其难以管理)
2、进程通信
①进程是在主机上运行的应用程序,
同一个主机内使用进程间通信机制通信。
②不同主机通过交换报文通信:使用OS提供的通信服务;按照应用协议交换报文
③sockets:是一种用于网络信的编程接口。它提供了一种机制,使得不同计算机之间可以通过网络进行数据传输和通信。通过sockets,程序可以创建一个网络套接字(socket),并使用该套接字进行数据的发送和接收。
④关于寻址:
- 若要接受消息,进程必须具有标识identifier
- 主机设备具有唯一的32位IP地址。
⑤关于应用层协议定义的内容:
- 交换的报文类型
- 报文语法
- 报文语义
- 进程何时以及如何发送和响应报文的规则
- 对于公开协议:在RFC中定义,每个人都能访问协议定义,允许互相操作。
- 对于专用协议:不公开
⑥关于网络性能指标:
- 数据丢失率:有些应用要求100%的可靠数据传输,有些不需要
- 吞吐:一些应用需要最小限度吞吐才能使应用有效运转,一些应用能充分利用可供使用的吞吐
- 延迟:一些应用(交互式游戏、Internet电话)对数据传输有严格的时间限制,要低延迟。
- 安全性:包含机密性、完整你、可认证性。
⑦互联网传输协议服务
- TCP服务:1.可靠的传输服务。2.有流量控制(发送方不会淹没接收方)。3.拥塞控制(网络出现拥塞时能抑制发送方)。4.不能提供的服务:时间保证,最小吞吐保证和安全。5.面向连接(要求在客户端进程和服务器之间建立连接)
- UDP服务:不可靠的数据传输。不提供的服务:可靠,流量控制,拥塞控制,事件,带宽保证,建立连接。
UDP存在的必要性:
- 能区分不同进程
- 无需建立连接,适合事务性应用
- 不做可靠性工作:实现可靠性要付出时间代价
- 没有拥塞流量控制:应用能够按照设定的速度发送数据
————————
二、Web and HTTP
1、万维网www(world wide web):
- 是一个大规模的联机式的信息储藏所。
- 用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富信息。
- 这种访问方式称为“链接”。
2、万维网是分布式超媒体系统
①是超文本系统的扩充
②超文本:有多个信息源链接成,是万维网的基础
③超媒体与超文本的区别:文档内容不同:
- 超文本文档仅包含文本信息
- 超媒体文档还包含其他信息,如图形、图像、声音、动画等。
④分布式系统:信息分布在整个互联网上,每台主机上的文档都独立进行管理。
3、万维网的工作方式
- 以客户/服务器方式工作
- 客户程序:浏览器
- 服务器程序:在万维网文档所驻留的主机上运行,这个计算机被称为万维网服务器。
- 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户需要的万维网文档
- 在一个客户程序主窗口是哪个显示出的万维网文档称为页面
4、万维网运作需要满足的条件
①对分布在整个互联网上的万维网文档进行标记
使用统一资源定位符URL,能够唯一的标记每一个文档
②使用超文本传输协议HTTP(是一个应用层协议使用TCP连接进行可靠的传送)
③使用HTML使不同作者创作的不同风格的万维网文档能在互联网各种主机上显示出来,同时使用户清除地知道在什么地方存在着链接
④使用各种搜索引擎使用户很方便地找到所需信息
5、URL
- 是对互联网资源的位置和访问方式的间简洁表示
- 给资源的位置提供一种抽象的识别方法并用这种方法给资源定位
- 所有资源都有一个唯一确定的URL
6、URL的格式:
<协议>://<主机>:<端口>/<路径>
协议:常见的有http、ftp、News等
主机:存放资源的主机在互联网中的域名,也可以是用点分十进制的IP地址
端口:即端口号
路径:资源所在目录位置
7、HTTP概述:
- 是面向事务的应用层协议
- 使用TCP连接的可靠传输
- 定义了浏览器与万维网服务器通信的格式和规则
- 是万维网能够可靠地交换文件的重要基础
- 客户发起与服务器TCP连接端口号为80
8、HTTP连接
①Nonpersistent非持久HTTP:协议http/1.0
TCP连接已打开→最多通过TCP连接发送一个对象→TCP连接关闭(下载多个对象要连接多次)
②Persistent持久HTTP:协议http/1.1
TCP连接→可通过TCP连接发送多个对象→TCP连接关闭
服务器在发送响应后仍然保持一段时间这条连接不释放,使其能够持续传输。
只要文档都在同一个服服务器上,就可以继续使用该TCP连接
有流水线和非流水线两种工作方式
9、HTTP报文
①两类报文:请求报文:客户到服务,相应报文服务到客户,报文中每一个字段值都是一些ACSⅡ码串,每个字段长度不确定。
②三个组成部分:开始行:用于区分是请求报文还是相应报文。首部行:说明浏览器、服务器或报文主体的一些信息。实体主体:请求报文一般不用,相应也可能没有。
10、响应报文状态码:
- 1xx表示通知信息
- 2xx表示成功
- 3xx表示重定向
- 4xx表示客户的差错
- 5xx表示服务器差错
11、web缓存
目的:不访问服务器就满足客户的请求
用户浏览器配置为指向本地web缓存。浏览器将所有HTTP请求发送到缓存,使用高速缓存可将少访问互联网服务器的时延。缓存同时充当客户端可服务器
作用:降低客户端的请求响应时间;大大减少一个机构内部网络与Internet接入链路上的流量;可以使较弱的ICP也能够有效提供内容。