06 - 应用层 - FTP和HTTP

363 阅读6分钟

这是我参与更文挑战的第8天,活动详情查看: 更文挑战

FTP - 文件传输协议

FTP是TCP/IP协议组中的协议之一. FTP协议有两个部分组成, 一为FTP服务器, 二为FTP客户端. FTP服务器用来存储文件, 用户可以通过FTP客户端通过FTP协议访问位于FTP服务器上的资源.

网络环境下复制文件的复杂性

计算机存储数据的格式不同

文件的目录结构和文件命名的规定不同

对于相同的文件存取功能, 操作系统使用的命令不同

访问控制方法不同

FTP特点

FTP只提供文件传送的一些基本服务, 它使用TCP可靠的运输服务.

FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性

FTP使用客户服务器方式. 一个FTP服务器进程可同时为多个客户进程提供服务. FTP的服务器进程由两大部分组成: 一个主进程, 负责接受新的请求; 若干个从进程, 负责处理单个请求.

两个连接

控制连接, 在整个会话期间一直保持打开, FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程, 但控制连接不用来传送文件

数据连接, 服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建"数据传送进程"和"数据连接", 用来连接客户端和服务器端的数据传送进程

两个端口号

当客户进程发出建立连接请求时, 要寻找连接服务器进程的熟知商品(21), 同时还要告诉服务器进程自己的另一个端口号, 用来建立数据传送连接

服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号建立数据传送连接

HTTP - 超文本传输协议

指定客户端可能发送给服务器什么样的消息以及得到什么样的响应. 请求和响应消息以ASCII形式给出.

万维网必须解决的问题

  1. 怎样标志分页在整个互联网上的万维网文档

    使用URL(统一资源定位符)来标志万维网上的各种文档

  2. 用何协议实现万维网上各种超链的链接

    在客户与服务器之间进行交互所使用的协议是HTTP(超文本传输协议). HTTP是一个应用层协议, 使用TCP连接进行可靠的传输.

URL的一般形式

<协议>://<主机>:<端口>/<路径>

例如: www.baidu.com/img/flexibl…

HTTP的特点

HTTP使用面向连接的TCP作为运输层协议, 保证了数据的可靠传输

HTTP本身是无连接的

HTTP是页面事务的客户服务器协议

HTTP/1.0协议是无状态的

HTTP/1.0协议是持续连接的

持续连接的两种工作方式

非流水线方式

客户在收到前一个响应后才能发出下一个请求. 这比非持续连接的两倍RTT的开销节省了建立TCP连接所需的整体上RTT时间. 服务器在发送完一个对象后, 其TCP连接就处于空闲状态, 浪费了服务器资源

流水线方式: 客户在收到HTTP响应报文之前就能够接着发送新的请求报文. 一个接一个的请求报文到达服务器后, 服务器就可连续发回响应报文. 使用流水线方式时, 客户访问所有对象只需花费一个RTT时间, 使TCP连接中的空闲时间减少, 提高了下载文档效率.

高速缓存

  1. 浏览器访问互联网的服务器时, 要先与本地网络的高速缓存建立TCP连接, 并向高速缓存发出HTTP请求报文.
  2. 若高速缓存已经存放了所请求的对象, 则将此对象放入HTTP响应报文中返回给浏览器
  3. 否则, 高速缓存就代表发出请求的用户浏览器, 与互联网上的源点服务器建立TCP连接, 并发送HTTP请求报文
  4. 源点服务器将所请求的对象放在HTTP响应报文中返回给校园网的高速缓存
  5. 高速缓存收到此对象后, 先复制到本地存储器中, 然后再将该对象放在HTTP响应报文中, 通过已建立的TCP连接, 返回给请求该对象的浏览器

HTTP的报文分类

请求报文 - 从客户向服务器发送请求报文

响应报文 - 从服务器到客户的回答

请求报文的结构

请求报文的方法

OPTION - 请求一些选项的信息

GET - 请求读取由URL所标志的信息

HEAD - 请求读取由URL所标志的信息首部

POST - 给服务器添加信息

PUT - 在指明的URL下存储一个文档

DELETE - 删除指明的URL所标志的资源

TRACE - 用来进行环回测试的请求报文

CONNECT - 用于代理服务器

URL - 所请求资源的URL

版本 - HTTP的版本

响应报文的结构

响应报文结构

状态码

状态码是三位数字

1xx - 表示通知信息, 表示请求收到了或正在进行处理

2xx - 表示成功, 接受或知道了

3xx - 表示重定向, 要完成请求还必须采取进一步的行动

4xx - 表示客户的差错, 请求中有错误的语法

5xx - 表示服务器的差错, 服务器失效或无法完成请求

信息检索系统

全文检索搜索引擎

一种纯技术型的检索工具. 工作原理是通过搜索软件到互联网上的各网站收集信息, 找到一个网站后可以从这个网站再链接到另一个网站. 然后按照一定的规则建立一个很大的在线数据库供用户查询.

用户在查询时只要输入关键词, 就从已经建立的索引数据库上进行查询, 并不是实时地在互联网上检索到的信息.

分类目录搜索引擎

并不采集网站的任何信息, 而是利用各网站向搜索引擎提交的网站信息时填写的关键词和网站描述等信息, 经过人工审核编辑后, 如果认为符合网站登录的条件, 则输入到分类目录的数据库中, 供网上用户查询.

分类目录搜索也叫做分类网站搜索.