计算机网络自顶向上学习二(应用层协议)

现代网络应用程序中所使用的两种主流体系结构是:客户-服务器体系结构,P2P体系结构。

客户-服务器体系中,有一个总是打开的主机称为服务器,它服务于许多其他称为客户的主机的请求。服务器具有固定的地址。包括:WEB,FTP,TELENT和电子邮件。

一个服务器处理大量客户请求会负担很大,所以配备大量的多个数据中心共同处理。

P2P:应用程序在主机对之间通信,包括文件共享,迅雷,skype,。

端系统的进程通信。应用程序开发者可以控制套接字在应用层端的一切,对于运输层的控制仅限于选择运输层协议。

TCP服务:面向连接和可靠数据传输服务,还具有拥塞控制机制。SSL加密协议在应用层上对TCP进行加强,发送进程向SSL套接字传递明文数据,加密后传给TCP套接字。

UDP服务:无连接,不可靠,当进程将一个报文发送进UDP套接字时,UDP协议并不保证该报文将到达接受进程,也有可能是乱序到达。

运用TCP的服务:电子邮件,远程终端访问,WEB,文件传输FTP,流失多媒体。

运用UDP的服务:广播,因特网电话。

应用层协议:定义了运行在不同端系统上的应用程序如何传递报文。

报文类型,各种报文类型的语法,字段所包含信息的含义,何时如何发送报文与如何响应。

web页面:由对象组成,一个对象只是一个文件,诸如一个HTML文件,一个JPEG图形,一个JAVA小程序或一个视频片段。对象通过URL地址寻址,URL地址包括主机名和路径名。web服务器存储对象。

HTTP使用TCP作为其运输协议。用户点击一个页面时,HTTP客户与服务器建立一个TCP连接,一旦建立可通过套接字通讯。

非持续连接和持续连接:每一个请求响应对经一个TCP连接,还是对应多个TCP连接。每一个WEB页面可能包含有多个对象。

非持续连接:HTTP接受到响应报文后,TCP连接关闭。从响应报文中提取该文件,检查HTML文件,得到对象的引用。再发起TCP连接,可以是并行TCP连接或串行TCP连接。

持续连接:在接收到响应报文后,保持该TCP连接。

HTTP请求报文:请求行(第一行),首部行(后面的行),实体。

请求行:方法字段(GET,POST,HEAD,PUT,DELETE)。,URL字段,HTTP版本字段。

首部行:HOST(对象所在主机URL),CONNETION(持续与非持续),USER-AGENT(浏览器类型)

实体:GET的实体一般为空,POST的实体包含关键字搜索。HEAD,不返回请求对象,有报文。PUT,向服务器上传对象。DELETE,删除web服务器上的对象。

HTTP回应报文:状态行,首部行,实体。

状态行;200,ok。301,请求对象被永久转移。400,请求无法理解。404,请求文档不在服务器。505,版本不支持

HTTP使用了cookie,允许站点对用户进行跟踪。当请求报文到达服务器时,将产生一个识别码,返回响应报文将包含识别码的首部。浏览器收到响应报文后,在其管理的特定cookie文件中添加该服务器的主机名等信息。cookie用于标识一个用户。

SMTP:邮件传输协议

A调用邮件代理程序-发送报文-A的邮件服务器-A邮件服务器的SMTP客户端发现了报文并创建到B的SMTP服务器的TCP连接-B的邮件服务器接受报文放入B的邮箱中-B的邮件代理程序阅读。

SMTP用来将邮件从发送方的用户代理传送到发送方的邮件服务器,从一个邮件服务器向另一个邮件服务器传输文件。SMTP要求每个报文使用7比特ASCII码格式。,SMTP为推协议。SMTP将所有的报文对象放在一个报文之中。HTTP把每个对象封装到它自己的HTTP响应报文中。

如何从邮件接收方服务器获取邮件呢?可利用POP,HTTP协议。

今天的web浏览器收发邮件,两端均使用HTTP,中间使用SMTP。

DNS提供的服务:DNS运行在UDP上。

DNS应用客户端向DNS服务器发送请求,收到含有IP地址的报文,能够向位于该IP地址80端口的HTTP服务器进程发起一个TCP连接。

猜你喜欢

转载自blog.csdn.net/u013070875/article/details/83064973