2.1应用层协议原理
网络应用程序位于应用层
开发网络应用程序:
写出能够在不同的端系统上通过网络彼此通信的程序
2.1.1网络应用程序体系结构分类:
客户机/服务器结构
服务器:
总是打开(always-on)
具有固定的、众所周知的IP地址
主机群集常被用于创建强大的虚拟服务器
客户机:
无需总打开,可间断的同服务器连接
可拥有动态IP地址
客户机相互之间不直接通信
如:搜索引擎、电子邮件
P2P体系结构
没有总是打开的服务器
任意一对主机直接相互通信
对等方间歇连接并且可以改变IP地址
优点:self-scalability自组织
cost effective划算的,效率高
缺点:难以管理
安全性
混合的体系结构
2.1.2 进程通信
进程:运行在端系统中的程序
同一主机上的两个进程通过内部进程通信机制进行通信
不同主机上的两个进程通过计算机网络交换报文相互通信
注意:具有P2P体系结构的应用程序,同时有客户机进程和服务器进程。既发送又接收。
进程与网络的接口是套接字
通过套接字,进程在网络上发送和接收报文
进程类比于房屋中的人,套接字类比于门
发送进程把报文从门发送出去
接收进程把报文从门接收进来
套接字又叫做网络应用程序编程接口API
用户通过API对传输层的控制,但仅限于:
(1) 选择传输协议,如TCP或UDP;
(2) 能设定几个参数,如最大缓存、最大报文长度等
进程标识:包括IP地址和端口号(IP,port),通过这个标识才能找到目的主机上的对应进程
2.1.3应用程序的运输要求以及协议选择
一般需要实时的,会对传输时延、带宽要求较高,一般使用UDP。
TCP主要是可靠
UDP就是实时
2.2 Web应用和HTTP协议
网页:(Web页,或称文档)由许多对象组成。
对象:就是文件,可以是HTML文件, JPEG图像, Java applet, 音频文件…
多数网页由单个基本HTML文件和若干个所引用的对象构成
每个对象通过一个URL(Uniform Resource Locator统一资源定位符)寻址
2.2.1 HTTP概述
HTTP: 超文本传输协议 HyperText Transfer Protocol
Web的应用层协议,建立在TCP运输层协议上
client/server