计算机网络:应用层 - 文件传输协议 FTP 电子邮件

计算机网络:应用层 - 文件传输协议 FTP & 电子邮件

    • 文件传输协议 FTP
    • 电子邮件


文件传输协议 FTP

文件传送协议 FTP(File Transfer Protocol),曾是互联网祝频讲解上使用得最广泛的文件传送协议。

其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点

FTP一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。看起来在两台主机之间传送文件是很简单的事情。其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。经常遇到的问题是:

  1. 计算机存储数据的格式不同
  2. 文件的目录结构和文件命名的规定不同
  3. 对于相同的文件存取功能,操作系统使用的命令不同

FTP只提供文件传输的一些基本服务,它使用TCP可靠的运输服务。主要功能是减少或者消除再不同操作系统下文件的不兼容性

一个FTP服务器可以同时为多个客户提供服务,FTP服务器进程主要由两部分组成:一个主进程和多个从属进程

主进程的工作如下:

  1. 打开熟知端口21,客户通过该端口连接服务器
  2. 等待客户进程发出连接请求
  3. 启动从属进程处理客户发来的请求,从属进程处理完任务后就终止
  4. 继续等待其它客户进程发来的请求

如下图所示:

在这里插入图片描述

本例中控制进程数据传送进程都是从属进程

  • 控制进程:使用21端口,整个会话期间都会保持打开,客户端发送的请求,通过控制连接发送给控制进程,但是该进程并不用于传输文件
  • 数据传送进程:使用20端口,实际用于传输文件的进程,当控制进程收到文件传输请求,就会创建数据传输进程,传输完毕后再关闭该进程

使用两个独立的连接的好处在于更加简单和容易实现。


电子邮件

实时通信的电话固然使用方便,但有两个严重缺点。第一电话通信的主叫和被叫双方必须同时在场。第二,有些电话常常不必要地打断被叫者的工作或休息。

电子邮件是互联网上使用最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。

这相当于互联网为用户设立了存放邮件的信箱,电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。

电子邮件系统由三个主要构件组成:用户代理邮件服务器,以及邮件发送协议和邮件读取协议

如图:

在这里插入图片描述

用户代理用户与电子邮件系统的接口,大部分情况下它是运行在用户计算机中的一个程序,因此又被称为电子邮件客户端软件。用户代理其实就是向用户提供一个方便操作的接口(页面),来发送和接收邮件。

用户代理至少要包含以下功能:

  1. 攥写:给用户提供编辑信件的环境
  2. 显示:可以在计算机屏幕上显示信件
  3. 处理:发送邮件和接收邮件,删除邮件等等,也就是对邮件的各种处理方式
  4. 通信:可以把邮件发送到服务器,也可以从服务器读取邮件到本地

邮件服务器主要用来发送和接收邮件,同时还要向发件人报告邮件传送的结果。

如图所示:

在这里插入图片描述

SMTP是邮件发送协议,POP3是邮件读取协议。

用户代理要先通过SMTP协议,将自己攥写的邮件发送到SMTP服务器上。随后该服务器再作为SMTP客户,利用SMTP协议将邮件发送到接收方的SMTP服务器上。

而用户想要接收邮件时,与服务器使用的是POP3协议,此时就可以把邮件读取到本地了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fastadmin中$searchFields解析

在控制器或者模型中添加这个属性: protected $searchFields goods_name,goods_brand,category.name,manystoreShop.name,goods_model; 查询sql拼接就会自携带;原理如下:

element-ui 表单的验证不生效可能有以下几种原因:v

表单验证规则没有正确设置&#xff1a;在 element-ui 表单组件中&#xff0c;需要通过设置 rules 属性来定义表单字段的验证规则&#xff0c;例如&#xff1a; <el-form :model"form" :rules"rules"><el-form-item label"用户名" prop…

算法基础精选题单 模拟 (个人题解)

前言&#xff1a; 从今天开始刷牛客上的这份题单&#xff0c;为暑假的牛客多校集训做准备&#xff0c;题单上一共有237道题&#xff0c;要想在集训开始前刷完难度还是很大的&#xff0c;但我一定会坚持下来&#xff0c;希望在这段时间内我能真正入门算法竞赛。接下来这三道题都…

操作系统实战(一)(PV经典问题之生产者与消费者)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;操作系统 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 进程互斥与同步 题目一 题目二 题…

在SQL中使用explode函数展开数组的详细指南

目录 简介示例1&#xff1a;简单数组展开示例2&#xff1a;展开嵌套数组示例3&#xff1a;与其他函数结合使用处理结构体数组示例&#xff1a;展开包含结构体的数组示例2&#xff1a;展开嵌套结构体数组 总结 简介 在处理SQL中的数组数据时&#xff0c;explode函数非常有用。它…

C#——装箱与拆箱详情

装箱与拆箱 装箱: 将值类型转换成引用类型的过程&#xff1b; 拆箱: 把引用类型转为值类型的过程&#xff0c;就是拆箱 装箱 拆箱

洗地机哪个品牌好?四大实力拔尖单品力荐

洗地机哪个品牌好呢&#xff1f;想必姐妹们肯定觉得保持家里清洁是非常重要的&#xff0c;但是每天打扫卫生真的会让人整个都要疯狂&#xff0c;这不&#xff0c;救星洗地机就能派上用场了&#xff0c;干垃圾湿垃圾统统都能一次清理干净。只需轻轻一推&#xff0c;就能把扫地、…

帝国cms批量取消文章审核-把已审核的文章改成未审核的方法

帝国cms很多人采集的时候&#xff0c;把文章弄成了审核过的文章&#xff0c;或者因为其他的原因&#xff0c;文章都是审核通过&#xff0c;为了seo又不能把全部文章放出来&#xff0c;所以需要把文章弄成未审核以下就是解决本问题的办法 首先来修改后台列表文件&#xff0c;自…

栈,队列,数组,链表

一.数据结构概述 数据结构是计算机底层存储,组织数据的方式。 是指数据相互之间是以什么方式排列在一起的。 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。 一般情况下,精心选择的数据结构可以来更高的运行或者存储效率。 二.学好数据结构三大…

Python基础-类与对象

1.面向对象的三大特性 封装继承多态 2.类与对象的理解与封装特性 类是事物抽象的集合&#xff0c;对象是事物具象的个体。&#xff08;类–>实例化–>对象&#xff09; 面向对象编程语言 类: 一个模板, (人类)—是一个抽象的&#xff0c; 没有实体的对象: (eg: 张三&a…

SQL题:未完成率较高的50%用户近三个月答卷情况

SQL题&#xff1a;未完成率较高的50%用户近三个月答卷情况 这是一道牛客网上SQL进阶图库中的一道困难题目&#xff0c;个人花了近两个小时才通过所有用例。之所以想记录下来是因为这道题算是一个很考验基本功的题目&#xff0c;也不乏一些SQL中的技巧。下面我们逐步分析&#…

java干货 线程池的分析和使用

文章目录 一、了解线程池1.1 什么是线程池1.2 为什么需要线程池 二、四种线程池的使用2.1 newFixedThreadPool2.2 newCachedThreadPool2.3 newSingleThreadExecutor2.4 newScheduledThreadPool 三、自定义线程池3.1 线程池七大核心参数3.2 线程池内部处理逻辑 一、了解线程池 …

Leetcode - 132双周赛

目录 一、3174. 清除数字 二、3175. 找到连续赢 K 场比赛的第一位玩家 三、3176. 求出最长好子序列 I 四、3177. 求出最长好子序列 II 一、3174. 清除数字 本题可以使用栈来模拟&#xff0c;遇到数字弹出栈顶元素&#xff0c;遇到字母入栈。 代码如下&#xff1a; //使用字…

VMware虚拟机卡顿(虚拟机卡死)(调整所有虚拟机内存使其适应预留的主机 RAM (F)、默认进程优先级、不允许使用内存页面修整功能(M))

文章目录 设置编辑——首选项——内存——额外内存——调整所有虚拟机内存使其适应预留的主机 RAM (F)&#xff08;我把这个勾上了&#xff09;编辑——首选项——优先级——默认进程优先级虚拟机——设置——选项——高级——不允许使用内存页面修整功能(M) 参考文章&#xff…

数据结构和算法之复杂度比较

数据结构和算法之复杂度比较 参考如下网址&#xff1a;https://www.bigocheatsheet.com/ 方便快速查询 1. 复杂度比较 2. 常见数据结构复杂度 3. 常见算法复杂度

【AI应用探讨】— 通义千问模型应用场景

目录 一、文字创作 二、文本处理 三、编程辅助 四、翻译服务 五、对话模拟 六、数据可视化 七、电商行业应用 八、教育行业应用 九、开发者与科研工作者应用 一、文字创作 故事、公文、邮件撰写&#xff1a;通义千问能够基于用户的指令和需求&#xff0c;生成符合要求…

如何用命令行方式便捷组合调用 AI 工作流?

&#xff08;注&#xff1a;本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费&#xff09; 我给你演示的总结长视频、起草博客文章&#xff0c;只是其中的冰山一角。 焦虑 有些小伙伴最近跟我反馈&#xff0c;看到他人演示的样例&#xff0c;见识…

VScode中js关闭烦人的ts检查

类似如下的代码在vscode 会报错&#xff0c;我们可以在前面添加忽略检查或者错误&#xff0c;如下&#xff1a; 但是&#xff01;&#xff01;&#xff01;这太不优雅了&#xff01;&#xff01;&#xff01;&#xff0c;js代码命名没有问题&#xff0c;错在ts上面&#xff0c;…

文案生成器,免费的文案生成器

在如今这个高速发展的社会&#xff0c;内容创作已经成为许多人工作和生活中不可或缺的一部分。然而&#xff0c;随之而来的就是“内卷”。不仅要高质量的内容还要写作效率。为了在内卷中脱颖而出&#xff0c;我们就需要使用文案生成器&#xff0c;一款能够帮助我们提升写作效率…

element-plus的Tour 漫游式引导怎么去绑定Cascader 级联选择器或者它的内容 popper

首先官方例子是用的button 官方.$el这个log出来是&#xff1a; 知道是以元素为准就拿对应的元素就行 级联选择器.$el是这样的&#xff1a; 你可以移入这个元素部分去看看是哪个要用的&#xff08;好像谷歌还是狐火直接放上去就可以看到元素表示&#xff0c;但是我有时用谷歌只…