htddkceitc 发表于 2016-6-10 13:30:08

[转]基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)

  基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)
  来源:http://www.networkdictionary.com/chinese/protocols/tcpip.php
  HTTP:超文本传输协议
  更详细的HTTP协议头信息参考我blog之前的文章。


http://www.networkdictionary.com/chinese/images/arrow.gifHTTP:超文本传输协议HTTP:Hypertext Transfer Protocol
  超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自 1990 年起, HTTP 就已经被应用于 WWW 全球信息服务系统。  HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。
  HTTP 也可用作普通协议,实现用户代理与连接其它 Internet 服务(如 SMTP 、 NNTP 、 FTP 、 GOPHER 及 WAIS )的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。
  HTTP 是一种请求 / 响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器,请求的格式是:统一资源标识符(URI)、协议版本号,后面是类似 MIME 的信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式是:一个状态行包括信息的协议版本号、一个成功或错误的代码,后面也是类似 MIME 的信息,包括服务器信息、实体信息和可能的内容。
  HTTP 的第一版本 HTTP/0.9 是一种简单的用于网络间原始数据传输的协议。而由 RFC 1945 定义的 HTTP/1.0 ,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存在,包括请求 / 响应范式中的已传输数据和修饰符等方面的信息。但是, HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能。相比之下, HTTP/1.1 要求更加严格以确保服务的可靠性。关于安全增强版的 HTTP (即S-HTTP),将在相关文件中再作介绍。

http://www.networkdictionary.com/chinese/images/arrow.gif协议结构
   HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下:
请求行通用信息头请求头实体头报文主体
  请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。
  应报文格式如下:

状态行通用信息头响应头实体头报文主体
  状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。
相关协议WWW、FTP、STMP、NNTP、Gopher、WAIS、DNS、S-HTTP组织来源HTTP 定义在 IETF (http://www.ietf.org) 的 RFC 1945和2616中。相关链接http://www.javvin.com/protocol/rfc1945.pdf :Hypertext Transfer Protocol – HTTP 1.0
http://www.javvin.com/protocol/rfc2616.pdf :Hypertext Transfer Protocol – HTTP 1.1
  FTP:文件传输协议

  
http://www.networkdictionary.com/chinese/images/arrow.gifFTP:文件传输协议(FTP:File Transfer Protocol)  

  
  文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。
  FTP 的主要功能如下:

[*]提供文件的共享(计算机程序 / 数据);
[*]支持间接使用远程计算机;
[*]使用户不因各类主机文件存储器系统的差异而受影响;
[*]可靠且有效的传输数据。
  FTP ,尽管可以直接被终端用户使用,但其应用主要还是通过程序实现。
  FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项。然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。 FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。
  

  
http://www.networkdictionary.com/chinese/images/arrow.gif协议结构  

  
命令描述ABOR中断数据连接程序ACCT <account>系统特权帐号ALLO <bytes> 为服务器上的文件存储器分配字节APPE <filename>添加文件到服务器同名文件CDUP <dir path>改变服务器上的父目录CWD <dir path>改变服务器上的工作目录DELE <filename>删除服务器上的指定文件HELP <command>返回指定命令信息LIST <name>如果是文件名列出文件信息,如果是目录则列出文件列表MODE <mode>传输模式(S=流模式,B=块模式,C=压缩模式)MKD <directory>在服务器上建立指定目录NLST <directory>列出指定目录内容NOOP无动作,除了来自服务器上的承认PASS <password>系统登录密码PASV请求服务器等待数据连接PORT <address>IP 地址和两字节的端口 IDPWD显示当前工作目录QUIT从 FTP 服务器上退出登录REIN重新初始化登录状态连接REST <offset>由特定偏移量重启文件传递RETR <filename>从服务器上找回(复制)文件RMD <directory>在服务器上删除指定目录RNFR <old path>对旧路径重命名RNTO <new path>对新路径重命名SITE <params>由服务器提供的站点特殊参数SMNT <pathname>挂载指定文件结构STAT <directory>在当前程序或目录上返回信息STOR <filename>储存(复制)文件到服务器上STOU <filename>储存文件到服务器名称上STRU <type>数据结构(F=文件,R=记录,P=页面)SYST返回服务器使用的操作系统TYPE <data type>数据类型(A=ASCII,E=EBCDIC,I=binary)USER <username>>系统登录的用户名  

  
标准 FTP 信息如下:  

  
响应代码解释说明110新文件指示器上的重启标记120服务器准备就绪的时间(分钟数)125打开数据连接,开始传输150打开连接200成功202命令没有执行211系统状态回复212目录状态回复213文件状态回复214帮助信息回复215系统类型回复220服务就绪221退出网络225打开数据连接226结束数据连接227进入被动模式(IP 地址、ID 端口)230登录因特网250文件行为完成257路径名建立331要求密码332要求帐号350文件行为暂停421服务关闭425无法打开数据连接426结束连接450文件不可用451遇到本地错误452磁盘空间不足500无效命令501错误参数502命令没有执行503错误指令序列504无效命令参数530未登录网络532存储文件需要帐号550文件不可用551不知道的页类型552超过存储分配553文件名不允许  

  
相关协议TELNET组织来源FTP 由 IETF(http://www.ietf.org)在 RFC 959 中,并由2228、2640 和 2773 重新更新。相关链接http://www.javvin.com/protocol/rfc959.pdf :File Transfer Protocol(FTP)  

  POP & POP3:邮局协议(邮局协议第3版)
  
http://www.networkdictionary.com/chinese/images/arrow.gifPOP & POP3:邮局协议(邮局协议第3版)POP & POP3:Post Office Protocol
  POP 协议允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为 POP3 。 POP3 允许工作站检索邮件服务器上的邮件。 POP3 传输的是数据消息,这些消息可以是指令,也可以是应答。
  创建一个分布式电子邮件系統有多种不同的技术支持和途径: POP (邮局协议)、 DMSP (分层式电子邮件系统协议)和 IMAP (因特网信息访问协议)。其中, POP 协议创建最早因此也最为人们了解; DMSP 具有较好的支持“无连接”操作的性能,但其很大程度上仅限于单个应用程序(PCMAIL ); IMAP 提供了 POP 和 DMSP 的扩展集并提供对远程邮件访问的三种支持方式:离线、在线和无连接。
  POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或 MAC 。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。
  POP3 并不支持对服务器上邮件进行扩展操作,此过程由更高级的 IMAP4 完成。 POP3 使用 TCP 作为传输协议。

http://www.networkdictionary.com/chinese/images/arrow.gif协议结构
  POP3 是发送在客户机和服务器间的 ASCII 信息。POP3 命令摘要:
命令描述USER用户名PASS用户密码STAT服务器上的邮件信息RETR获取的信息数DELE删除的信息数LIST显示的信息数TOP <messageID> <nombredelignes> 从头开始(包含协议头)打印X行信息QUIT退出POP3服务器
可选POP3命令:  APOP name digest   AUTHORIZATION 状态有效;
  TOP msg n      TRANSACTION 状态有效;
  UIDL
  POP3 Replies:
  + OK
  - ERR。

相关协议SMTP、IMAP4、TCP、POP组织来源POP3 由 IETF(www.ietf.org)定义在 RFC 1939中。相关链接http://www.javvin.com/protocol/rfc1939.pdf:Post Office Protocol – Version 3
  SMTP:简单邮件传输协议
  
http://www.networkdictionary.com/chinese/images/arrow.gifSMTP:简单邮件传输协议(SMTP:Simple Mail Transfer Protocol)
  SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。
  SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。
  在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。

http://www.networkdictionary.com/chinese/images/arrow.gif协议结构
  SMTP 命令是发送于 SMTP 主机之间的 ASCII 信息,可能命令如下所示:
命令描述DATA开始信息写作EXPN <string>在指定邮件表中返回名称HELO <domain>返回邮件服务器身份HELP <command>返回指定命令中的信息MAIL FROM <host>在主机上初始化一个邮件会话NOOP除服务器响应确认以外,没有引起任何反应QUIT终止邮件会话RCPT TO <user>指明谁收到邮件RSET重设邮件连接SAML FROM <host>发送邮件到用户终端和邮箱SEND FROM <host>发送邮件到用户终端SOML FROM <host>发送邮件到用户终端或邮箱TURN接收端和发送端交换角色VRFY <user>校验用户身份
相关协议POP3、IMAP4、TCP、POP、FTP组织来源SMTP 由 IETF(www.ietf.org)定义在 RFC2821中。相关链接http://www.javvin.com/protocol/rfc2821.pdf:Simple Mail Transfer Protocol
页: [1]
查看完整版本: [转]基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)