各服务器工作原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FTP(文件传输协议)服务器工作原理FTP(文件传输协议)工作原理

目前在网络上,如果你想把文件和其他人共享。最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件。

1、FTP架构

如同其他的很多通讯协议,FTP通讯协议也采用客户机 / 服务器(Client / Server )架构。用户可以通过各种不同的FTP客户端程序,借助FTP协议,来连接FTP服务器,以上传或者下载文件。

2、FTP通讯端口知识FTP服务器和客户端要进行文件传输,就需要通过端口来进行。FTP协议需要的端口一般包括两种:控制链路

--------TCP端口21所有你发往FTP服务器的命令和服务器反馈的指令都是通过服务器上的21端口传送的。数据链路--------TCP端口20数据链路主要是用来传送数据的,比如客户端上传、下载内容,以及列目录显示的内容等。3、FTP连接的两种方式在数据链路的建立上,FTP Server 为了适应不同的网络环境,支持两种连接模式:主动模式(Port)和被动模式(Pasv)。其实这两种连接模式主要是针对数据链路进行的,和控制链路无关。

主动模式主动模式是这样工作的:客户端把自己的高位端口和服务器端口21建立控制链路。所有的控制命令比如Is或get都是通过这条链路传送的。当客户端需要服务器端给它传送数据时,客户端会发消息给服务器端,告诉自己的位置和打开的高位端口(一般大于1024的端口都就叫高位端口),等候服务器的20端口和客户端打开的端口进行连接,从而进行数据的传输。当服务器端收到信息后,就会和客户端打开的端口连接,这样数据链路就建立起来了。

采用主动模式连接服务器的客户端,当它位于NAT或者防火墙的保护之后时会碰到连接失败的问题。这是因为当防火墙接到服务器发送过来的信息的时候,并不知道应该发送给内部网络中的哪一台客户端造成

的。

被动模式被动模式是这样工作的:当客户端发送数据请求后,服务器也会发信息给客户端,告诉客户端:服务器在本地打开了一个高位端口P,你现在来连接我吧。当客户端收到该信息时,就会去连接服务器端的端口P,连接成功后,数据链路就建立了。

Web服务器工作原理:

一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信。这个客户端通常指的是 Web 浏览器。

Web服务器的工作原理简单的可以归纳为:客户机连接服务器,客户端向服务器发送请求,服务器向客户机发送应答,客户机与服务器断开。一个简单的事务处理事件就是这样实现的,看起来不简单,做起来其实也是挺简单的,呵呵……需要注意的是客户机与服务器直接的通信是非连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。

HTTP 是一种让 Web 服务器与浏览器(客户端)通过 Internet 发送与接收数据的协议。它是一个请求、响应协议--客户端发出一个请求,服务器响应这个请求。HTTP 运用可靠的 TCP 连接,通常用的 TCP 80 端口。

在 HTTP 中,客户端总是通过建立一个连接与发送一个 HTTP 请求来发起一个事务。服务器不能主动去与客户端联系,也不能给客户端发出一个回叫连接。客户端与服务器端都可以提前中断一个连接。例如,当用一个浏览器下载一个文件时,你可以通过点击“停止”键来中断文件的下载,关闭与服务器的 HTTP 连接。

http协议使Web服务器和浏览器可以通过Web交换数据。它是一种请求/响应协议,即服务器等待并响应客户方请求。H T T P不维护与客户方的连接,它使用可靠的T C P连接,通常采用TCP 80端口。客户/服务器传输过程可分为四个基一步骤:

1) 浏览器与服务器建立连接;

2) 浏览器向服务器请求文档;

3) 服务器响应浏览器请求;

4) 断开连接。

H T T P是一种无状态协议,它不维护连接的状态信息。

1. 客户请求

客户请求包含以下信息:

请求方法

请求头

请求数据

(1)请求方法是用于特定U R L或We b页面的程序HTTP请求方法:

方法描述

GET 请求指定的文档

HEAD 仅请求文档头

POST 请求服务器接收指定文档作为可执行的信息

PUT 用从客户端传送的数据取代指定文档中的内容

DELETE 请求服务器删除指定页面

OPTIONS 允许客户端查看服务器的性能

TRACE 用于测试—允许客户端查看消息回收过程

(2)头信息是可选项,它用于向服务器提供客户端的其他信息

如果客户采用某种方法获取数据(如P O S T ),数据就放在头( h e a d e r )之后;否则客户机等待

从服务器传来的响应。

2. 服务器响应

服务器响应包括以下关键部分:

状态码

响应头

响应数据

HTTP定义了多组返回给浏览器的状态码。

响应头向客户方提供服务器和/或请求文档的信息HTTP响应头:

方法描述

Server Web服务器信息

Date 当前日期/时间

Last Modified 请求文档最近修改时间

Expires 请求文档过期时间

Content-length 数据长度(字节)

Content-type 数据M I M E类型

WWW-authenticate 用于通知客户方需要的认证信息(如用户名、口令等)

如果有客户方请求的数据,数据放在响应头之后,否则服务器断开连接。

3.通信实例:

1. 请求

在本例中,浏览器请求文档的U R L为h ttp:///index.html。所有的请求均以空行结束。

GET /index.html HTTP/1.1

Accept: text/plain

Accept: text/html

User-Agent: Mozilla/4.5(WinNT)

(blank line)

(DATA)

浏览器使用Get方法请求文档/index.html。浏览器声明它只能接收纯文本和html数据,它使用Mozilla/4.5(Netscape)引擎。

2. 响应

服务响应包括状态码、一些头信息(以空行结束)及请求数据,假设数据存在,则响应信息如下:

HTTP/1.1 200 OK

Date Sunday, 15-Jul-05 12:18:33 GMT

Server: Apache/1.3.6

MIME-version: 1.0

Content-type: test/html

Last-modified: Thursday,02-Jun-05 20:43:56 GMT

Content-length: 1432

(blank line)

(此行开始为数据部分,与前面头部要空一行)

Example Server-Browser Communication

......

假设文档未找到,响应信息如下

HTTP/1.1 404 NOT FOUND

Date Sunday, 15-Jul-05 12:19:33 GMT

Server: Apache/1.3.6

相关文档
最新文档