挑战408——一周网络——应用层(2)

E-Mail 电子邮件

实时通信与异步通信

实时通信方式是指通信双方都必须在场的通信方式(如打电话,微信的语音通信)。异步通信方式是指通信双方不需要同时到场。电子邮件就是一种异步通信方式。它先把邮件发送给收件人使用的邮箱服务器,并放在其中的收件人的邮箱中,收件人可以随时上网到自己使用的邮箱服务器进行读取。
一个电子邮件系统应该具有以下三种重要组件:用户代理,邮件服务器,以及相关的电子邮件协议。
用户代理,就是用户与电子邮件系统的接口,它是运行在电脑的一个客户端程序,因此又称电子邮件客户端软件。用户代理通常提供一个窗口界面来对邮件进行管理和发送和接收。(登录163邮箱,出现的界面就是用户代理)。
邮件服务器采用C/S模式,但是它可以同时充当服务器和客户端。邮件服务器采用两种不同协议,一种协议用于用户代理向服务器之间发送邮件(SMTP),另外一种用于用户代理从邮件服务器中读取文件(如POP3)。
具体的收发过程如下:

  1. 用户代理用SMTP协议把邮件传送给发送方邮件服务器。
  2. 发送方邮件服务器将邮件放入邮件缓存队列中,等待发送。
  3. 发送方的邮件服务器SMTP进程就会发现邮件缓存中有待发送的邮件,于是向接收方邮件服务器的SMTP服务器进程发起建立TCP连接。
  4. TCP建立连接后,SMTP客户进程向远处的SMTP服务器进程发送邮件。待发送完毕关闭TCP连接
  5. 接受方的服务器收到此邮件后,将邮件放入收信人邮箱。
  6. 收信人收信的时候,使用POP3协议将自己的邮件从接收方邮件服务器中取回。

过程如图:
在这里插入图片描述

SMTP 协议和POP3协议

SMTP协议(简单邮件传输协议),是一种提供可靠且有效的电子邮件传输协议,控制两个相互通信的SMTP进程交换信息。SMTP采用的是C/S模式,因此负责发送邮件的进程为SMTP客户,负责接收邮件的进程为SMTP服务器。SMTP协议采用的是TCP连接,端口号为25.SMTP通信有三个阶段:

  • 连接建立
  • 邮件发送
  • 连接释放

具体解释见上图。

POP3 协议(邮局协议),是一个非常简单的邮件读取协议,现在使用的是它的第三个版本,POOP3.此协议也使用C/S模式。使用TCP协议,端口号为110.在接收邮件的用户电脑中用户代理必须运行POP3客户端协议,而收件人所在的邮件服务器必须运行POP3服务器协议。只要用户用POP3从服务器上读取了邮件,POP3服务器就将此邮件从服务器中删除。

WWW 万维网

万维网(world wide web)是一个大规模的,联机式的信息储藏所,英文简称web。万维网使用链接的方法,能非常方便的从互联网上的一个站点访问另外一个站点。从而按需获取丰富的信息。万维网是一个分布式的超媒体系统,他是超文本系统的扩充。所谓超文本,是指包含指向其他文档的链接的文本。一个超文本由多个信息源链接成,这些信息源的分布,数目不限。超文本是万维网的基础。
万维网以C/S模式工作,而浏览器实际上是万维网客户程序。存放万维网文档的主机称为万维网服务器,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文本。万维网客户程序窗口所显示的内容就称为页面。

URL 统一资源定位符

URL是用来表示从互联网上得到的资源位置以及访问这些资源的方法。只要能够对资源进行定位,系统就可以对资源进行各种操作。URL实际就是资源在互联网上的地址 。URL除了指出资源在互联网上的地址,同时还指出某个对象所使用的协议。下图是URL的一般形式的组合:

<协议>://<主机>:<端口>/<路径>   例如
https://blog.csdn.net/redRnt

例如上图,采用的是HTTP协议。
协议一般是http协议,其次为Ftp协议。主机名一般为www。现在很多浏览器把他自动省略了。

Http 超文本传输协议

Http协议 是面向事务的应用层协议,是万维网上可以可靠交换文件的重要基础。Http不仅可以传输完成超文本跳转所需要的信息,同时也可以传输从互联网上得到的任何信息,比如文本,声音,图像等等。
http的工作过程是这样的:每个万维网的网点都有一个服务器进程,它时刻监听着80端口,一旦监听到连接请求,就建立TCP连接,浏览器向web服务器发送浏览某个页面的请求,服务器便返回所请求的页面响应。最后释放TCP连接。浏览器与web服务器之间的交互就是遵循Http协议的。(这也就是所谓的B/S模式)
Http在运输层采用了TCP协议,保证了数据的可靠传输。但是Http协议在应用层中又是无连接的,也就是说虽然采用了TCP作为传输层协议但是通信双方在交换Http报文的同时是不需要建立Http连接的。同时Http是无状态的,同一个客户第一次访问web服务器跟第二次访问web服务器是响应一样的,这样服务器就可以大量的支持并发的http请求。
在浏览器请求一个web文档到接收整个文档的过程,Http首先跟web服务器建立TCP连接,建立TCP连接的过程需要一个RRT时间。建立好TCP连接后,web客户端就将http请求发送到web服务器,web服务器收到请求后就将所请求的页面发送到客户端。所需的时间如下所示:
在这里插入图片描述
也就是说,从请求一个页面到服务器返回页面的整个过程需要2XRRT+文档传输的时间。

Cookie

前面说过HTTP协议是无状态的,这样服务器就不能对用户进行标识。但是实际上不少站点需要识别用户,这样就需要在Http中使用Cookie,它主要表示Http服务器中与客户之间传递的状态信息。
Cookie的工作原理; Cookie其实是一串服务器给用户产生的一串唯一的标识码,它作为索引在数据库的后端产生一个项目,它附带在Http的返回报文中返回给客户,当客户浏览器收到后,就会在管理特定Cookie的文件后添加一行,主要内容包括服务器的主机名和发来的Cookie,当继续访问该主机的时候,就每次发送Http请求的时候,就附带发送这串Cookie,这样网站就可以跟踪用户在网站的操作(即访问了哪些页面,访问的顺序是什么)。但是此时服务器是不知道用户的真实姓名以及其他信息的。
Cookie的用处:Cookie可以标志某个用户,这样就可以针对用户的访问兴趣提供相应的内容,并且对于重复的登录以及验证可以省略。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值