应用层协议之HTTP与SMTP辨析
HTTP与SMTP辨析
HTTP(超文本传输协议)与SMTP(简单邮件传输协议)都属于应用层的协议,在我们的生活中应用广泛。
通常情况下http协议负责从web服务器向web浏览器传输文件来给用户提供web服务;而smtp协议则负责将电子邮件从一个邮件服务器传输到另一个邮件服务器。
共同点
- 他们都使用TCP连接;
- 他们都可以采用持续连接(同一个用户有多个请求时可以连续使用一个TCP连接通道);
不同点
- HTTP是一个拉协议,多为用户通过浏览器像web服务器请求资源,将资源下拉到本地,多为文件接收方来发起请求;SMTP是一个推协议,由发送方来发起请求,从而将邮件从发送方邮件服务器推到接收邮件服务器中;
- SMTP将它的每个报文都按照7比特ASCII码来进行编码;HTTP则没有此限制;
- HTTP和SMTP在进行文档处理时也不大相同:http将每个对象封装在自己的http响应报文中;smtp将所有的对象封装在一个报文里面;
**除此之外web服务和电子邮件服务在实现过程中也有一些不同,例如在我们请求web资源时,如果有web缓存器(也叫代理服务器,多用来缓存一些web资源,来减少访问时间和网络压力)存在,则不必通过访问web服务器来得到资源;电子邮件服务则不同,它不设有第三方缓存,而是服务器之间直接连接,而不通过任何中转。**