是参考模型的最高层。<br>主要功能是:<br>为应用软件提供了很多服务,<br>比如文件服务器、数据库服务、电子邮件与其他网络软件服务。
TELNET
HTTP
HyperText Transfer Protocal
基于请求与响应,无状态的,应用层的协议,常<font color="#16884a">基于TCP/IP协议</font>传输数据
http分两部分:头和消息内容
请求和响应消息的<font color="#16884a">头以ASCII码</font>(八位二进制码)形式给出;<br>
而<font color="#16884a">消息内容</font>则具有一个<u>类似</u><font color="#16884a">MIME</font>的格式
Multipurpose Internet Mail Extensions多用途互联网邮件扩展类型
MIME由两部分组成,前面是数据的大类别,后面定义具体的种类。
常见的MIME类型(通用型):<br>
超文本标记语言文本 .html text/html<br><br>xml文档 .xml text/xml<br><br>普通文本 .txt text/plain<br><br>PDF文档 .pdf application/pdf
HTTP是<font color="#16884a">基于客户/服务器模式(</font>由从客户机到服务器的请求和从服务器到客户机的响应构成<font color="#16884a">),</font><br><font color="#16884a">且</font><u style=""><font color="#16884a">面向连接</font><font color="#5c5c5c">(有去有回Request\Response)</font></u><font color="#16884a">的。</font>
典型的HTTP事务处理有如下的过程:<br>
(1)客户与服务器建立连接;<br><br>(2)客户向服务器提出请求;<br><br>(3)服务器接受请求,并根据请求返回相应的文件作为应答;<br><br>(4)客户与服务器关闭连接。
客户与服务器之间的HTTP连接是<u><b><font color="#16884a">一种一次性连接</font></b></u>,它限制每次连接只处理一个请求,<br>当服务器<u>返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接</u>。
HTTP协议是<font color="#16884a">基于C/S架构(或者B/S等等)</font>进行通信的,<br>而HTTP协议的服务器端实现程序有httpd、nginx或程序自己启动监听等,<br>其客户端的<font color="#16884a">实现程序主要是Web浏览器、客户端、安卓、IOS等</font><br>客户端的命令行工具还有elink、crul等。<br><font color="#16884a">Web服务是<u>基于TCP的</u></font>,因此为了能够随时响应客户端的请求,<font color="#16884a">Web服务器需要监听在80/TCP(默认端口)(1025~65534都可以监听)端<u>口</u></font><br>这客户端浏览器和Web服务器之间就可以通过HTTP协议进行通信了。
HTTPS
Secure Hypertext Transfer Protocol
安全超文本传输协议 它是一个安全通信通道
HTTPS是HTTP over SSL/TLS
HTTP是应用层协议,TCP是传输层协议,在应用层和传输层之间,增加了一个安全套接层SSL/TLS
SSL (Secure Socket Layer,安全套接字层)
SSL使用40 位关键字作为RC4流加密算法
由于不安全现在已经不再使用了,主要是TLS
TLS (Transport Layer Security,传输层安全协议)
PKI用于在TLS协议中交换会话密钥
Public Key Infrastructure公钥基础设施
应用PKI技术的完整的系统主要包括以下几点:
1、CA数字认证中心。
电子认证服务 ,是指为电子签名相关各方提供真实性、可靠性验证的活动。
证书颁发机构(CA, Certificate Authority)
即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
是PKI的核心
用户想得到一份属于自己的证书,应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
就是向CA进行申请身份证,CA验证你是个好人就会给你发一个钥匙,钥匙上粘一个户口再给你签个字一组合就变成了身份证
2、数字证书目录服务器。
3、具有高强度密码算法(SSL)的安全服务器。???应该是TLS吧
4、Web(安全通信平台)。
5、应用PKI技术的信息化系统。
一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范
<ul><li>保密(message privacy),保密通过加密encryption实现,所有信息都加密传输,第三方无法嗅探;<br></li><li>完整性(message integrity),通过MAC校验机制,一旦被篡改,通信双方会立刻发现;<br></li><li>认证(mutual authentication),双方认证,双方都可以配备证书,防止身份被冒充;<br></li></ul>
特点
<div>内容加密:采用混合加密技术,中间者无法直接查看明文内容<br></div>
加密方式有:
<font color="#16884a">共享密钥</font>加密(<font color="#16884a">对称密钥</font>加密):
加密时和解密时使用同一个密钥,加密的时候就把密钥传给对方
<font color="#16884a">公开密钥</font>加密(<font color="#16884a">非对称密钥</font>加密):
公开密钥有一对非对称的密钥
私有密钥
加密时:发送方用公开密钥做加密处理,对方收到之后就可以用自己的密钥进行解密,这样就不担心密钥被偷走
<font color="#16884a">混合加密</font>就是同时使用以上两种方式
交换密钥的阶段吧用 共享密钥,等到建立好通信要交换tcp报文时再使用共享密钥加密的方式
验证身份:通过证书认证客户端访问的是自己的服务器
保护数据完整性:防止传输的内容被中间人冒充或者篡改
方法
单向认证:无法防护中间人攻击
双向认证:可以防护
FTP
文件传输协议(File Transfer Protocol,FTP)
<font color="#16884a"> 使用 TCP 传输而不是 UDP</font>
基本模型<br>
客户有三个构件:用户接口、客户控制进程和客户数据传送进程。
服务器有两个构件:服务器控制进程和服务器数据传送进程。
FTP的传输有两种方式:ASCII、二进制
支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)
默认状态下,FTP 站点允许匿名访问。
TFTP
这是一个非常古老的用于内部传输小文件的协议,没有FTP那么多功能,采用的是udp协议,通过在包中加入包头信息,用尽可能简单的代码来实现小文件传输,注意是小文件,是一个值得参考的udp改造应用范例.
NFS
SMTP
等