1.应用层原理
1.1网络应用程序体系结构
1)客户-服务器体系结构
2)p2p结构(对等)
1.2进程通信
1)进程成对通信一个为客户方,一个为服务器方
2)进程从应用层到传输层发送接受报文时使用了一个套接字(socket)的接口
3)套接字可编程又被称为应用程序编程接口(api)
4)进程寻址通过主机地址(ip)和进程标识符(端口)实现
1.3运输服务
1)可靠数据传输
2)吞吐量
3)定时
4)安全性
1.4两种运输层协议
1.4.1tcp
1)面向连接服务(握手)
2)可靠数据传输服务
3)拥塞控制机制
1.4.2udp
提供最小服务,无握手过程
1.5应用层协议
1)规定了交换的报文类型,例如请求报文和相应报文
2)各种报文类型的语法,如报文中的各个字段以及这些字段是如何描述的
3)字段的语意
4)确定一个进程合适发送报文,及如何发送和响应报文
1.5.1http(web)
1)使用tcp传输协议
2)http是无状态协议,不会存储客户状态
3)持续连接http(http默认)
所有请求响应使用一个tcp连接
4)非持续连接的http
每个请求响应使用一个tcp连接
为每个全新的tcp连接分配缓存区和保持tcp变量,给服务器造成了严重负担
每个对象需要进行握手,时间成本大
5)http请求报文格式
6)http响应报文格式
7)cookie(站点对用户标记和跟踪)
4大组件:
http响应报文的一个cookie首部行
http请求报文的一个cookie首部行
用户端系统的一个cookie文件
位于web站点的一个cookie数据库
8)web缓存(代理服务器)
用户与代理服务器建立连接,如果服务器有用户所需页面,则返回该页面,不然就与原网站建立连接取得目标页面,并备份一份至代理服务器
两大优点:
1.加快响应用户的时间
2.减少访问流量
9)条件get方法
为了保证用户代理中存储的网页副本是最新版本,引入了条件get
当用户向代理服务器请求对象时,代理服务器像网站发送一个条件get语句
1.5.2smtp(邮件)
限制为7为ascii进行编码
smtp不使用中间邮件服务器
依靠tcp连接
smtp是推协议
http是拉协议
1.5.3pop3(邮件)
极其简单的邮件访问协议
按照三个阶段进行工作
特许:用户代理发送用户名和口令鉴别用户
事务处理:用户代理取回报文,可进行删除标记,取消删除标记,获取邮件统计信息
更新:结束pop3会话,邮件服务器删除被标记为删除的报文
两种下载方式:
下载并删除
下载并保留
1.5.4imap(邮件)
相对于pop3扩展了更多的功能
例如用户创建远程文件夹和指定文件夹
允许获取部分报文的命令
1.5.5dns(目录)
域名系统实现
从主机名到ip地址的映射
主机别名
邮件服务器别名
负载分配(繁忙的站点通常有多个服务器,dns将主机名循环转换为这些ip集合实现负载分配)
等功能
结构
根服务器
顶级域服务器
权威服务器
本地dns服务器起到代理的作用
dns缓存
当本地dns向其他dns服务器请求映射时返回的映射结果会在本地dns缓存一份副本