ftp和http区别

Win10本地搭建HTTP服务器FTP服务器 1.进入电脑控制面板-程序-启用或关闭windows功能2.勾选这3个功能以及展开的全部勾选。 阅读详情
本文围绕以下三个部分展开: 

一、HTTP协议 
二、FTP协议 
三、HTTP与FTP的异同点 

一、HTTP协议简介 

        1. 概念 

        HTTP: HyperText Transfer Protocal,超文本传输协议。它是Web的核心。 

        HTTP协议由两部分程序实现:一个客户机程序和一个服务器程序,它们运行在不同的端系统中,通过交换HTTP报文进行会话。 

        HTTP定义了这些报文的格式,以及客户机和服务器是如何进行报文交换的,即:Web客户机是如何向Web服务器请求Web页面,以及服务器如何将Web页面传送给客户机。 




        2. HTTP是一个无状态协议(stateless protocal) 

        服务器向客户机发送被请求的文件时,并不存储任何关于该客户机的状态信息。 

        假如某个特定的客户机在短短的几秒钟内两次请求同一个对象,服务器并不会因为刚刚为该用户提供了该对象就不再做出反应,而是重新发送该对象,就像该服务器已经完全忘记不久之前所做过的事一样。 

        正因为一个HTTP服务器并不保存关于客户机的任何信息,所以我们说HTTP是一个无状态协议。 


        3. 非持久连接(non-persistent connection)和持久连接(persistent connection) 

        (1)在许多因特网应用中,客户机和服务器进行长时间的通信,其中客户机发出一系列请求,服务器对每个请求进行响应。 

        根据不同的应用程序以及应用程序使用的方式,这一系列请求,可以周期性地一个接一个地发出,也可以间断性地发出。 

        当这种客户机/服务器的交互运行于TCP协议之上时,应用程序的研制者需要确定每个请求/响应对,是经一个 单独的TCP连接 发送,还是所有的请求及相应的响应经 相同的TCP连接 发送。 

        如果每个请求/响应对,都是经一个 单独的TCP连接 发送,该应用程序被称为 使用 非持久连接;如果所有的请求及相应的响应都经 相同的TCP连接 发送,则该应用程序被称为 使用 持久连接 


        (2)HTTP既可以使用非持久连接,也可以使用持久连接,默认方式下,HTTP使用持久连接。


        (3)非持久连接的缺点: 

        1)非持久连接必须为每一个请求的对象建立和维护一个全新的连接。 
        对于这样的连接,在客户机和服务器都要分配TCP的缓冲区和变量,这给服务器带来了严重的负担,因为一台Web服务器可能同时服务于数以百计的客户机请求。 

        2)每一个对象的传输时延为两个RTT(Round-Trip Time,往返时间),即一个RTT用于建立TCP,另一个RTT用于请求和接收一个对象。传输时延太大。 


        在持久连接的情况下,服务器在发送响应后保持该TCP连接打开。 
        在相同的客户机和服务器之间的后续请求和响应报文,可通过相同的连接进行传送。特别是一个完整的Web页面(如基本的HTML文件,加上10个图形),可以用单个持久的TCP连接进行传送。 
        更有甚者,位于同一台服务器的多个Web页面,在从该服务器发送给同一个客户机时,可以在单个持久的TCP连接上进行。对这些对象的请求可一个接一个地发出,而不必等待未决请求的回答,像流水线一样进行。 

        一般来说,如果一个连接经过一定时间间隔(一个可配置的超时间隔)仍未被使用,HTTP服务器就关闭该连接。 

        HTTP的默认模式使用了流水线方式的持久连接。 


        4. HTTP报文格式 

        HTTP报文有两种:请求报文和响应报文。 

        (详情以后补充) 


二、FTP协议 

        FTP:File Transfer Protocol,文件传输协议。 

        在典型的FTP会话中,用户坐在一台主机(本地主机)前面,向一台远程主机上传文件或从远程主机下载文件。 



        用户通过一个FTP用户接口与FTP交互。用户首先提供远程主机的主机名,使本地主机的FTP客户机进程建立一个到远程主机FTP服务器进程的TCP连接。 

        然后,为使用户能访问远程主机的账户,用户必须提供一个用户标识和口令,作为FTP命令的一部分在该TCP连接上传送。一旦该服务器向该用户授权,用户就能从本地文件系统向远程文件系统传送文件,反之亦然。 


三、HTTP与FTP的异同点 

        1. 同: 

        (1)都是应用层协议; 

        (2)都运行在TCP上,即都使用TCP(而不是UDP)作为其支撑的运输层协议。 

        2. 异: 

        (1)HTTP是超文本传输协议,是面向网页的;FTP是文件传输协议,是面向文件的。 

        (1)HTTP协议默认端口:80号端口。FTP协议默认端口:21号端口。 

        (3)FTP的控制信息是带外(out-of-band)传送的,而HTTP的控制信息是带内(in-band)传送的。 

        FTP使用两个并行的TCP连接来传输文件,一个是 控制连接(control connection),一个是 数据连接(data connection)。 

        控制连接用于在两个主机之间传输控制信息,如用户标识、口令、改变远程目录的命令以及“put”和“get”文件的命令。 

        数据连接用于实际传输一个文件。 



        因为FTP协议使用一个分离的控制连接,因此称FTP的控制信息是带外传送的。 
        而HTTP协议是在传输文件的TCP连接中发送请求和响应首部行的,因此其控制信息是带内传送的。 

        (3)FTP服务器必须在整个会话期间保留用户的状态(state)信息,而HTTP是无状态的。 

        FTP服务器必须把特定的用户账户与控制连接联系起来,随着用户在远程目录树上移动,服务器必须追踪用户在远程目录树上的当前位置。对每个活动着的用户会话的状态进行追踪,可以对FTP会话总数进行限制。 

        (4)FTP的控制连接是持久连接,数据连接是非持久连接;而HTTP既可以使用非持久连接,也可以使用持久连接,默认方式下,HTTP使用持久连接。 

        当用户主机与远程主机开始一个FTP会话前,FTP的客户机(用户)首先在21号端口上发起一个用于控制的与服务器(远程主机)的TCP连接。FTP的客户机通过该控制连接,发送用户的标识和口令,也发送改变远程目录的命令。 

        1)FTP的PORT(主动式)工作方式:当需要传送数据时,客户端在控制连接链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据连接链路来传送数据。 

        2)FTP的PASV(被动式)工作方式:当需要传送数据时,服务器在控制连接链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据连接链路来传送数据。 

        如果在同一个会话期间,用户还需要传输另一个文件,FTP则打开另一个数据连接。 

        因此,FTP的控制连接贯穿了整个用户会话期间,但是针对会话中的每一次文件传输,都需要建立一个新的数据连接。故,控制连接是持久连接,而数据连接是非持久连接。 
计算机网络--应用层 应用层许多协议都是基于 客户服务器方式,客户(Client) 服务器(Server) 都是指通信中所涉及的两个 应用进程;客户是服务请求方,服务器是服务提供方。域名系统 DNS(Domain Name System) 是互联网使用的命名系统,IP 地址可以标志一台主机,域名也可以代表一台主机,域名系统就是把难记的 IP 地址 转换为方便记忆的 域名;DNS 是分布式系统,即使单个系统出现故障,也不会影响整个 DNS 系统的运行,DNS 使用的大多数名字都在本地进行 解析(resolve),因此效率很高; 阅读详情

相关推荐

HTTPFTP区别

                                       HTTPFTP区别  简介 HTTP是Hyper Text Transfer Protocol,超文本传输协议; FTP...

我不是码农的博客~~~ 4735

TCP/IP 协议、HTTP 协议 FTP 协议详解

本文介绍了常见的网络协议主要包括TCP/IP协议、HTTP协议、FTP协议等。并详细介绍了TCP/IP协议的模型HTTP网络协议及其请求包响应包内容

青灯文案的博客 1万+

ftp http 区别FTP地址与HTTP地址的区别FTP下载HTTP下载的区别之一就在与此。

目录 ftp http 区别 FTP地址与HTTP地址的区别 FTP下载HTTP下载的区别之一就在与此。 ftp http 区别 1、定义不一样 ftp是文件传输协议,http是超文本传输协议,本质上是不一样的两个传输协议,一个针对文件,一个针对超文本。 2、运作方式不一样 HTTP协议是基于请求/响应范式的。最简单的情况可能是在用户代理(UA)源服务器(O)之间通过一个单独的连接来完成。ftp则有ASCII、二进制两种传输方式,不同传输方式下的运行是不一样的。 3、时效性不一

ZhangJiqun&191cm&85kg 2065

httpftp协议的区别

项目中应用到ftp,将ftp的笔记上传一下。 简单的说: HTTP是Hyper Text Transfer Protocol,超文本传输协议;面向网页的。 FTP是File Transfer Protocol,文件传输协议;面向文件的。(soap的默认端口号8880,ftp的代理服务器的默认端口号是21) 1.FTP (1)FTPHTTP复杂 FTPHTTP一样都是Internet上广泛使用的协议,用来在两台计算机之间互相传送文件。相比于HTTPFTP协议要复杂得多。复杂的原因,是因为FTP协议要用到

Diligent_wu的博客 9537

ftphttp区别

今天去面试,面试官问我这个问题,好吧,我好不容易记起来两个协议的中文名字,又含糊其辞地说FTP是传输文件的,很怂,回来补补课,每次面试完都觉得啥啥都不懂,大家共勉吧^_^ 一、字面上来看 HTTP是Hyper Text Transfer Protocol,超文本传输协议; FTP是File Transfer Protocol,文件传输协议; 简单说HTTP是面向网页的,而FTP

z1525892213的博客 5706

HTTPFTP之间有哪些区别

HTTPFTP之间有哪些区别?本篇文章就给大家介绍HTTPFTP是什么?让大家了解HTTPFTP之间的区别,希望对你们有所帮助。 HTTPFTP都是用于在客户端服务器之间传输数据的文件传输协议,但它们之间还是存在差异的。在介绍HTTPFTP之间的区别之前,我们首先来了解一下HTTPFTP。 什么是HTTPHTTP是超文本传输协议,是用于在万维网上传输文件(文本,图...

PHPArchitect的博客 707

FTPHTTP区别

FTPHTTP区别 FTP使用了两行的TCP连接来传输文件,HTTP只有一条TCP连接 ​ ​ 存放用户表示,口令,改变远程目录的的命令以及put,get命令 ​ <————————TCP控制连接端口21–————————-> FTP客户 –————————–———————— FTP服务器 ​ <————————TCP数据连接端口20–————————-> ​ 发送实际文件

LIl_wen的博客 816

HTTPFTP之间的区别

HTTPFTP都是用于在客户端服务器之间传输数据的文件传输协议,但它们之间还是存在差异的。今天就让我们来了解一下HTTPFTP之间的区别

专注技术学习与经验分享,记录成长,共同进步。 2667

phphttp ftp,HTTPFTP之间有哪些区别

HTTPFTP之间有哪些区别?本篇文章就给大家介绍HTTPFTP是什么?让大家了解HTTPFTP之间的区别,希望对你们有所帮助。HTTPFTP都是用于在客户端服务器之间传输数据的文件传输协议,但它们之间还是存在差异的。在介绍HTTPFTP之间的区别之前,我们首先来了解一下HTTPFTP。什么是HTTPHTTP是超文本传输协议,是用于在万维网上传输文件(文本,图形图像,声音,视频其...

weixin_42534103的博客 282

HttpsHttp区别FTP、SMTP

HttpsHttp区别 https协议需要到CA申请证书。 http是超文本传输协议,信息是明文传输;https 则是具有安全性的ssl加密传输协议。 httphttps使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。 FTP(F...

当我把这件事情做出来的时候,我想要的东西就已经拿到了 3550

HTTpftp区别

许多站点,比如facebook或一些博客等都允许用户上传或下载文件,比如论坛或博客系统的图片。在这种情况下,通常有两种选择上传文件到服务器,那就是FTP协议HTTP协议。 以下列出了一些两者的不同点: 1、HTTP协议是用来浏览网站的,而FTP是用来访问传输文件的,FTP文件传输有点批量上传维护网站的意思,而HTTP文件传输更多的是为终端用户提供文件传输,比如电影、图片、音乐之类

lucky 1692

HTTPHTTPS、FTPTCP的区别

一、概念 HTTP,即超文本传输协议,是 HyperText Transfer Protocol的缩写。浏览网页时在浏览器地址栏中输入的URL前面都是以"http://"开始的。HTTP定义了信息如何被格式化、如何被传输,以及在各种命令下服务器浏览器所采取的响应。 HTTPS(全称:Hypertext Transfer Protocol over Secu

hdhai9451的专栏 1万+

网站ftp服务器是什么关系,HTTPFTP之间有哪些区别

HTTPFTP之间有哪些区别?本篇文章就给大家介绍HTTPFTP是什么?让大家了解HTTPFTP之间的区别,希望对你们有所帮助。HTTPFTP都是用于在客户端服务器之间传输数据的文件传输协议,但它们之间还是存在差异的。在介绍HTTPFTP之间的区别之前,我们首先来了解一下HTTPFTP。什么是HTTPHTTP是超文本传输协议,是用于在万维网上传输文件(文本,图形图像,声音,视频其...

weixin_31876345的博客 1204
上一篇: Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
下一篇: JDK4.0 ,JDK5.0,JDK6.0,JDK7.0,JDK8.0的新特性
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值