文件传送协议 FTP

  • 文件传送协议 FTP 的概述
      文件传送协议 FTP(file transfer protocol)是互联网上使用得最广泛的文件传送协议(应用层协议),基于可靠的 TCP 协议。FTP 提供交互式的访问,允许用户指明文件的类型和格式(如指明是否使用 ASCII 码),并允许课文具备存取权限(如访问文件的用户,必须输入正确的口令等等)。FTP 屏蔽了各种计算机系统的区别,内部建立了能够有效融合不同计算机系统内部结构的接口,所以适合在异构网络(即是双方的操作系统是不相同的)中任意计算机之间传送文件。FTP 的主要功能是减少或者消除在不同操作系统下处理文件的不兼容性。

  • 网络传送会遇到的问题:

(1)计算机存储数据的格式不同;
(2)文件的目录结构和文件的命名的规定不同;
(3)对于相同的文件存取功能,操作系统使用的命令不同;
(4)访问控制方法不同。

  • FTP 的具体过程:
      FTP 使用的是客户-服务器模式。FTP 在客户端作为一个发送文件的应用进程。而 FTP 的服务器进程,可以同时为多个客户进程提供服务。FTP 的服务器进程由两个部分组成:一个主进程,负责接收新的请求;同时还有若干从属进程,负责处理接收的请求(一个进程处理一个请求)。FTP 的数据端口号是20,命令端口号是21。
    主进程的工作步骤如下:
    (1)打开控制端口(端口号为21),使客户进程可以连接上。
    (2)类似于轮询之类,等待客户进程发送连接请求。
    (3)启动从属进程处理接收到的进程。
    (4)主进程接着等待。
      在与客户进行文件传送时,客户机和服务器建立了两条 TCP 通道,控制连接和数据连接。这和单片机的某种协议很像(虽然我忘记是哪种了) ,将 cmd、data 单独成一个通道,对于使用者会清晰很多。而且协议更加简单,同时在传输文件时,不会影响客户机发送指令进行控制。

万维网 WWW

  • 万维网的概述
      万维网 WWW(world wide web)不是一个具体存在的计算机网络,它在我看来更多像是一种为了解决人们无法获知这广袤的互联网的信息提出的一种具体的思路和做法,具体所做的就是通过某种技巧去搜索网络上的信息并提出方法去如何呈现搜索结果。但因为这种做法它过于完美完善了,所以形成了一种公认的解决方案。Google、baidu 不过是将这种解决方案给具体实现了而已。当然,百度和 Google 的排名算法,是他们自己根据实际需要做的,WWW 无关。
      万维网是一个分布式的超媒体(hypermedia)系统。注意两个字段:分布式、超媒体。分布式,即是资源并不是集中在某一个实体里,而是分散的,这也是 WWW 去链接其他 IP 的原因。超媒体,是超文本(hypertext)的延伸。超文本,指的是可以链接到其他文档的文本。通过这个文本,可以链接到另一个文档,哪怕物理距离极远。而超媒体,不过就是链接目标,从文档,拓展为多媒体了。
      万维网作为极好地获取和显示信息的解决方案,关键在于它提出了三种标准,URL、HTTP、HTML。这三者是应运而生。
      (1)统一资源定位符 URL (uniform resource locator)用来标识了万维网上的每一个资源文件,确定了资源对于外界的唯一性和独特性。
      (2)超文本传送协议 HTTP(hypertext transfer protocol)是一个应用层的协议,确定了在 WWW 这种应用进程上,如何建立联系,获得资源(当然,找到目标机的 IP 、获得数据这些工作是通用的,不是 WWW 的设计)。
      (3)超文本标识语言 HTML(hypertext markup language)确定的是,在界面上显示信息的统一标准。
      (顺带提下,设计 HTML 的目的是去统一信息的显示,而设计可拓展标识语言 XML 的目的是去存储携带信息HTML 是 UI 布局,XML 是纯数据。

  • 万维网对数据的检索方法
      工作原理是通过爬虫 Spider 程序,在互联网的各个网站收集信息,找到一个网站后再连接到下一个网站。然后再按照一定的规则,建立巨大的在线索引数据库供用户查询。这本质上就已经完成了从广袤的计算机主机里,获取到具有自己想要的资源的目标机的域名甚至是 URL 的步骤了。 完成这一步之后,接下来就是去到目的机上,获取数据了。

  • 统一资源定位符 URL
      注意的是,URL 指定的对象是存储在每个 IP 地址里的文件,而 IP 指定的对象还是每一台机器。且,即便是同名文件,如果复制到了其他地方,也会被 URL 认为是不同的文件,因为 URL 就是包含了文件的路径。URL 的格式,是 如下:
    <协议>://<主机>:<端口>/<路径>。
      比如我现在的这篇文章的 URL 即是:https://mp.csdn.net/mdeditor/90812666
      协议一般使用 HTTP,其次是 FTP。主机,即是目标机的 IP 地址,一般都是用域名代替(但是,如果是自己搭的服务器,没有钱申请域名,也就是直接使用 IP 地址)。端口是目标机自己应用程序决定的,路径是文件放在目标机的具体地址,就像我们文件放在 e 盘哪个具体位置一样。端口号和路径是网页搭建者自己会提供给用户的,而 IP 地址,是可以通过域名解析的,整体上没有获取的问题。

  • 超文本传送协议 HTTP
      HTTP 协议定义了浏览器(即是万维网客户进程)怎么向万维网服务器请求文档,以及服务器如何将文档发送给浏览器。它本质上是基于 TCP 协议的。是面向事务的。
      具体实现上,作为服务器的一个进程,它是一直在监视着 TCP 的端口 80( FTP也是类似如此,几乎所有的应用层进程都是不断地监听各自的端口),以确定是否有浏览器用户向他发送建立 TCP 的请求。如果有的话,则建立 TCP 连接。之后,如果对方请求浏览界面或者资源,就发送过去(这个过程,发送文件前要先建立 TCP 连接,这体现了 TCP 的事先建立连接的属性)。
    HTTP 协议是无状态的,即是不对上次的请求做记录。同一个客户访问同一个界面两次,响应的时间一样。这是为了简化服务器到的设计而已。
      但 HTTP/1.0有一个缺点,就是每次申请一个文档,需要两倍的往返时间的开销。在1.1协议里,使用了持续连接(persistent connection),较好地解决了这个问题。它通过万维网服务器在发送响应后,依旧维持一段时间的链接,可以让同一个用户接着进行请求。持续连接里,有两种方式:非流水线方式(without pipelining)和流水线方式(with pipelining)。
      非流水线方式,即是用户要接收到前一个响应之后,才能发出下一个请求。
      流水线方式,即是用户在收到前一个响应前,就可以发出下一个请求。
      这两种形式,都是在已有这条通道的基础上形成的,如何在时间上分配发送和接收的次序而已(时间上的分配)。

  • 超文本标记语言 HTML
      超文本标记语言 HTML是制定万维网页面的标准语言。但是它并不是应用层的协议,虽然也是一种协议。但只是 UI 显示的协议,和传输无关。也不涉及运输层、网络层等。所以称不上是应用层协议。本质上是很简单的。学过 XML 的,可以类比即可。
      超文本标记语言 HTML 分为静态文档(static document)和动态文档(dynamic  document)。静态文档就是页面内容不会发生改变了。而动态文档是指文档的内容是在浏览器访问服务器时,才由服务器相应的应用程序来动态创建。
      实现动态文档,需要两点:
    (1)服务器应该增加另一个应用程序,用来处理浏览器发送的数据,并创建动态文档。
    (2)应增加一个机制,使服务器在接收到客户发来的数据后,传递给该应用进程,并得到这个应用进程的输出(动态文档),并发给客户。
      万维网提出的解决方案是,增加一个机制,通用网关接口 CGI(common gateway interface)。CGI 是一种标准,它定义了动态文档应该如何创建,客户的数据应该如何发给应用进程、输出结果如何使用等等。而相应的应用进程,即是 CGI /网关程序。
    CGI 程序本质是一个 CGI 脚本(script)。按照计算机的定义,脚本,是指一个程序,它被另一个程序(称为解释程序)解释或者执行,而不是被计算机直接执行。
      而随着万维网的发展,动态文档也出现了问题,因为动态文档一旦建立,它的内容也就被固定,无法接着刷新。另外,像动画之类的显示效果,动态文档也无法提供。
      现有的解决方案要么,就是服务器推送(server push),即是客户要不断地发送新的数据,服务器不断地运行 CGI 程序,并更新给客户。这样对线路和服务器造成了很大的开销。要么是,活动文档(active document)。即是客户申请活动文档时,直接发送一个活动文档程序副本给客户,在客户机上运行这个程序,使界面刷新(本质上,是应用程序的运行位置不同而已)。

计算机网络之应用层(文件传送协议、万维网)相关推荐

  1. 王道考研 计算机网络20 应用层 客户端/服务器C/S模型 P2P模型 DHCP协议 域名解析系统DNS 文件传送协议FTP 万维网 超文本传输协议HTTP

    应用层概述 FTP:文件传输协议(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议. SMTP:是一种提供可靠且有效的电子邮件传输的协议. POP3 ,全名为&q ...

  2. 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★

    文章目录 一.网络应用模型 ★ 二.域名解析过程 ★ 三.FTP 文件传输协议 四.电子邮件★ 五.万维网 和 HTTP 协议★ 一.网络应用模型 ★ 网络应用模型 : ① 客户 / 服务器 模型 ( ...

  3. 计算机网络之应用层:5、万维网、http协议

    应用层:5.万维网.http协议 万维网概述: HTTP协议: HTTP报文结构: 万维网概述: HTTP协议: http执行过程: http协议特点: http协议连接方式: 1.非持久连接:在一次 ...

  4. 计算机网络——应用层之文件传送协议(FTP)

    文件传输协议(File Transfer Protocol,FTP)通过FTP程序(服务器程序和客户端程序)在Internet上实现远程文件的传输,是因特网上使用得最广泛的文件传送协议. FTP实际上 ...

  5. 网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET

    网络工程管理 第七章 应用层协议 应用层的具体内容就是规定应用进程在通信时所遵循的协议. 应用层的许多协议都是基于客户/服务器方式.客户是服务请求方,服务器是服务提供方. 常见的应用层协议 TCP/I ...

  6. 《计算机网络》——文件传输协议FTP、简单邮件传送协议SMTP、邮局协议POP3、网际报文存取协议IMAP、万维网和HTTP协议、超文本传输协议HTTP

    文章目录 文件传输协议FTP FTP服务器和用户端 FTP工作原理 简单邮件传送协议SMTP 邮局协议POP3 网际报文存取协议IMAP 万维网和HTTP协议 超文本传输协议HTTP HTTP协议的特 ...

  7. 【学习笔记】应用层——电子邮件、万维网、HTTP协议

    文章目录 一. 电子邮件 ① 电子邮件的信息格式 ② 组成结构 ③ 简单邮件传送协议SMTP 定义 SMTP通信的三个阶段 SMTP的缺点 & MIME ④ 邮局协议POP3 定义 网际报文存 ...

  8. 计算机网络(3)--应用层协议--HTTP与HTTPS

    一.HTTP HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP/IP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则.HTTP ...

  9. 【计算机网络】应用层 : FTP 文件传输协议 ( FTP 客户端 和 服务器 | FTP 工作原理 | FTP 传输模式 )

    文章目录 一.文件传送协议 二.FTP 客户端 和 服务器 三.FTP 工作原理 四.FTP 传输模式 一.文件传送协议 文件传送协议 : 文件传送协议 FTP ( File Transfer Pro ...

最新文章

  1. 【LeetCode OJ】Same Tree
  2. 认认真真推荐9个值得关注的公众号
  3. python 程序流程控制结构-【笔记】《python语言程序设计》——程序的控制结构...
  4. 大一写的C课程设计(图书馆管理系统)
  5. 将py文件打包为exe可执行文件
  6. StarkSoft题库管理系统
  7. Mysql 中创建数据库并插入数据
  8. RED HAT 7 性能监控工具
  9. mysql报错22_运行 mysql 遇到的两个报错
  10. repo sync代码断点续传
  11. Next.js 服务端渲染框架实战
  12. 【u008】瑞瑞的木棍
  13. oracle中日期格式的注意事项
  14. HackerRank - Stock Maximize
  15. oracle安装以及访问【3】在CentOS7中安装oracle11g
  16. OpenGL入门二——变换
  17. 计算机工作流程flash动画,计算机动画设计:FlashCS3
  18. cisco设备如何查序列号
  19. 【markdown】markdown语法
  20. oracle计算两个日期间的工作日(根据表配置)

热门文章

  1. 计算机主机发出滴滴声音怎么办,电脑主机有滴滴声音是怎么回事?
  2. 开发中遇到的问题和经验 记录 ------- 后端篇
  3. html绘制水管,CAD平面水管如何画?
  4. 我们该如何高效的学习
  5. 2021年中国水果罐头行业进出口贸易及发展前景分析[图]
  6. GPS经纬度转化为百度地图/Google坐标及互转方案
  7. NAT444技术简介
  8. 2023年EasyRecovery数据恢复还会收费吗?
  9. VNT6656G无线网卡在mini2440 上的移植
  10. 聚划算影响淘宝搜索权重?客服:未接到通知