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。
一般需要实时的,会对传输时延、带宽要求较高,一般使用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



