简述FTP的工作原理

简述FTP的工作原理,第1张

FTP的工作原理是在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用TCP传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的。

在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。

但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

扩展资料

FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。

在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口。

而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

参考资料来源:百度百科-ftp

从图上可以看到,PHP实现了一个典型的动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令 (opcodes),然后ZEND虚拟机顺次执行这些指令完成 *** 作。PHP本身是用C实现的,因此最终调用的也都是C的函数,实际上,我们可以把PHP看 做是一个C开发的软件。

PHP的执行的核心是翻译出来的一条一条指令,也即opcode。

Opcode是PHP程序执行的最基本单位。一个opcode由两个参数(op1,op2)、返回值和处理函数组成。PHP程序最终被翻译为一组opcode处理函数的顺序执行。

常见的几个处理函数:

1    ZEND_ASSIGN_SPEC_CV_CV_HANDLER : 变量分配 ($a=$b)  

2    ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER:函数调用  

3    ZEND_CONCAT_SPEC_CV_CV_HANDLER:字符串拼接 $a$b  

4    ZEND_ADD_SPEC_CV_CONST_HANDLER: 加法运算 $a+2  

5    ZEND_IS_EQUAL_SPEC_CV_CONST:判断相等 $a==1  

6    ZEND_IS_IDENTICAL_SPEC_CV_CONST:判断相等 $a===1  

1、在开始运行里(或者电脑的win键+R)在运行里输入mstsc,如图显示。

2、在d出的对话框中输入你的ip地址。

3、出现如图显示的对话框选择是。

4、然后等一会进度反应时间就会进入让你输入帐号密码的窗口。

5、把空间商给你的帐号密码填入就可以登录你vps的控制面板了,其实也就是一个主机。

6、如下图所示,就已经登陆进入你的vps服务器了。

我们大家都知道PHP的强大之处,最近看到了关于PHP
WEB服务器的相关知识,下面我们就这个问题和大家一起讨论一下。WAP(无线通讯协议)是在数字移动电话、个人手持设备(PDA等)及计算机之间进行通讯的开放性全球标准。由于静态的WAP页面在很多方面不能满足用户个性化的服务请求,因此通过WAP服务器端语言产生动态的WML页面,具有很广泛的应用价值和很高的商业价值。

浅析使用PHP逻辑运算符 关于Windows PHP配置应用程序服务器步骤 经验之谈:PHP安装设置技巧总结 演示PHP substr函数使用 关于Windows下安装PHP5配置详细介绍

WAP
应用结构非常类似于Internet,一个典型的WAP应用请求是这样的:首先,具有WAP用户代理功能的移动终端(WAP手机等)通过内部运行的微浏览器(Micro
Browser)对某一网站以无线方式发送WAP服务请求。该请求先由WAP网关截获,对信息内容进行编码压缩,以减少网络数据流量,同时根据需要将WAP协议转换成>

从上述WAP应用流程可以看到,生成动态WAP页面与动态产生Web网页的过程非常类似。但是由于WAP应用使用的WML语言来源于语法严格的XML,因此要求输出的格式必须按WAP网页的规范输出。同时,由于WAP协议的应用范围、移动客户端的软硬件水平等特殊性,对每次输出的页面的大小、图像的格式及容量都有一定限制。下面我们以PHP脚本语言为例,看看如何动态输出WAP页面。

一、设置PHP WEB服务器

首先你的 Web服务器要安装好PHP,即能处理PHP脚本程序。其次,为使PHP WEB服务器能同时识别和处理PHP、WML、WBMP等文件,Web
服务器的MIME表需添加以下的几种文件类型。

text/vndwapwml wml    image/vndwapwbmp wbmp    application/vndwapwmlc wmlc    text/vndwapwmlswmls   application/vndwapwmlsc wmlsc   

二、用PHP输出简单动态WAP页面 

下面有一个最简单的PHP生成WAP页面的例子。注意由于需要PHP解释器来解释该程序,并输出WAP页面,因此所有类似程序应以php为扩展名。

<php header(″Content-type: text/vndwapwml″);  echo (″<wml> <card> <p>″);  echo date( ″l dS of F Y h:i:s A″ );   echo (″</p></card></wml>″);  >

该例子在WAP手机模拟器中可以浏览,输出当前日期时间,而在普通的浏览器中无法识别,甚至会被认为是错误下载。这是因为在程序开头就声明了该输出文档为WML类型,该类型只有WAP设备能够识别并解释。值得注意的是,我们常见的HTML语言对规范性要求不严,大多数浏览器能“容忍”其中相当多的编写错误,而WML规范相当严格,一点失误都可能导致无法输出所需页面。

一旦我们知道了用PHP脚本输出WAP页面的标准过程,我们就能够使用PHP强大的功能配合以WML语言的交互处理以及WML s
cript的简单脚本,开发出适合我们需要的应用系统了。

三、用PHP动态生成图像 

WAP应用使用一种特殊黑白的图像格式WBMP。我们可以用一些工具来将已有图像转换成WBMP格式,然后在WML文档中使用。但是在WAP站点上如果能动态地生成所需图像如K线图等,将会有广阔的应用前景。幸运的是,PHP的GD库(版本18以上)已经提供了相应函数。

<PHP Header(″Content-type: image/vndwapwbmp″);  Sim = ImageCreate(50, 50);  Swhite = ImageColorAllocate(Sim,255,255,255);  Sblack = ImageColorAllocate(Sim,0,0,0);  ImageRectangle(Sim, 5, 5, 20, 20, Sblack);  ImageWBMP(Sim); ImageDestroy(Sim);  >

该文件将在WAP模拟器中显示一个黑色矩形框。注意要使用GD的图像函数库,必须在PHP WEB服务器配置中加载PHP_GDDLL库文件。

四、在PHP中处理汉字

WAP作为一种全球应用,选择了UNICODE
20作为其标准字符集编码,以便能同时处理包括英文、中文、日文、法文等多种文字。而我们平常处理汉字使用的是GB2312编码,不同的内码标准势必不能通用,因此如果不在两种编码之间通过码表进行转换,就会出现汉字乱码现象。现在已经有较成熟的GB-2312与UNICODE编码转换的程序和函数,并在ASP、PHP、JSP等系统中使用,我们可以在一些技术站点上找到它们。

目前的大多数WAP手机(Nokia7110、爱立信
R320S等等)都是使用UTF-8编码的,也就是采用UNICODE来编码。这样,如果我们直接在WML使用中文字符(GB2312编码),将会产生乱码,手机用户无法识别,所以我们在输出中文之前,要使用程序或函数对中文进行UNICODE的编码。而在少数支持GB2312编码的手机或WAP终端设备中,我们可以在程序中定义好文档的内码类型后即可直接正确显示汉字,例如:

<php   header(″Content-type: text/vndwapwml; charset=gb2312″);  echo (″<wml><card><p>″);  echo (″中文测试″);  echo (″</p></card></wml>″);  >

最近搞虚拟化也遇到了这个问题。查了一下进程管理器,发现域服务本身就占用了很大内存。其他虚拟机内存需求512mb,域控需要1900mb,但增占率不是很高。不知道对你有有帮助。查一下日志看看是否被攻击了?

硬盘,这是服务器内最重要的东西,它也可能会出现故障,那么硬盘故障前的表现是怎么样的呢

1、故障提示。也就是我们常说的,硬盘自我监测、分析错误报告。在其控制的磁头、磁盘、电路等部件发生与预存的安全值发生冲突的时候,就会自动发生警告信息。而当出现这个故障提示的时候,我们就改引以为戒,尽快分析和处理。

2、硬盘无法识别。启动时,时不时的显示硬盘无法识别,或者即便能识别,但是系统显示无法显示硬盘,这就是物理故障的前兆。这个时候,我们就需要对重要数据进行转移,而后进行检测维修。

3、系统运行出错。服务器运行过程中,不断出现程序错误的状况,而且磁盘扫描问题,停滞、甚至死机。这个时候,就代表硬盘发生故障了,当然了,也可能是因为安装系统故障的原因,在我们排除软件问题后,就能确定是硬盘故障,需要进行检修。

4、运行报错。扫描磁盘,发现错误,甚至显示出现坏道。这个时候则表示硬盘部件问题,出现了坏道,我们需要将其进行隔离,保证正常使用。

5、初始化死机。初始化即死机,虽然不排除其他部件发生问题的可能性,比如内存问题、风扇问题、系统中毒等等,但是,最可能还是因为硬盘故障的问题,需要进行相关分析

服务器运行失败是因为勾选了“在单独的进程中打开文件夹窗口”功能,将其取消即可解决问题,取消方法如下:

*** 作设备:戴尔电脑

*** 作系统:win7

1、当使用电脑过程中,遇到"服务器运行失败“,如下图所示:

2、选择电脑左下角窗口图标打开,如下图所示:

3、在搜索框输入”文件夹选项“,如下图所示:

4、打开上方文件夹选项,如下图所示:

5、点击“查看”选项,并向下查看,如下图所示:

6、找到”在单独的进程中打开文件夹窗口“选项,不勾选后,点击确定即可,如下图所示:

运行,cmd,diskpart,进入diskpart以后输入list disk,列出的硬盘里面选择对应的序号,select disk 0,选择硬盘0,detail disk,会显示硬盘0的ID,这个就是序列号,然后依次选择硬盘1、2、3。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13497039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-19
下一篇 2023-08-19

发表评论

登录后才能评论

评论列表(0条)

保存