jjklm

          什么是WEB服務和FTP服務

          轉載:
          FTP(File Transfer Protocol)是文件傳輸協議的簡稱。
          FTP的作用
          正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP服務器程序)察看遠程計算機有哪些文件,然后把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。
          FTP工作原理
          拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP服務器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP服務器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP采用“客戶機/服務器”方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字符界面和圖形界面兩種。字符界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
          簡單地說,支持FTP協議的服務器就是FTP服務器,下面介紹一下什么是FTP協議(文件傳輸協議)
          一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,并不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬臺,而這些計算機可能運行不同的操作系統,有運行Unix的服務器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基于不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。
          與大多數Internet服務一樣,FTP也是一個客戶機/服務器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP服務器程序。用戶通過客戶機程序向服務器程序發出命令,服務器程序執行用戶所發出的命令,并將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求服務器向用戶傳送某一個文件的一份拷貝,服務器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。
          在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。
          使用FTP時必須首先登錄,在遠程主機上獲得相應的權限以后,方可上載或下載文件。也就是說,要想同哪一臺計算機傳送文件,就必須具有哪一臺計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一臺主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。
          匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,并從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。
          通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字符串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。
          值得注意的是,匿名FTP不適用于所有Internet主機,它只適用于那些提供了這項服務的主機。
          當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其余目錄則處于隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨后,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。
          作為一個Internet用戶,可通過FTP在任何兩臺Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用于下載公共文件,例如共享軟件、各公司技術支持文件等。 Internet上有成千上萬臺匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。
          匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,并且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。
          匿名FTP是Internet網上發布軟件的常用方法。Internet之所以能延續到今天,是因為人們使用通過標準協議提供標準服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。
          Internet中的有數目巨大的匿名FTP主機以及更多的文件,那么到底怎樣才能知道某一特定文件位于哪個匿名FTP主機上的那個目錄中呢?這正是Archie服務器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的數據庫,使你可以直接找到所需文件的位置信息。




          Web 服務是一種可以用來解決跨網絡應用集成問題的開發模式,這種模式為實現“軟件作為服務”提供了技術保障。而“軟件作為服務”實質上是一種提供軟件服務的機制,這種機制可以在網絡上暴露可編程接口,并通過這些接口來共享站點開放出來的功能。

          從技術角度來講,Web 服務實現了最廣泛的應用軟件集成,彌補了傳統軟件開發模型的限制。Web 服務產生之前,在網絡上提供對象服務通常要采用DCOM(Distributed COM)或CORBA。這兩種技術各有特點,也各自有相當廣泛的應用。前者運行在Windows操作系統上,后者主要運行在UNIX系統上,都有著相當悠久的歷史。

          從概念層次上講,二者具有相近的結構,都可以讓客戶軟件實例化分布在網絡上遠端的對象,并最終訪問對象服務。但是,在具體實現機制上,這兩種方案有許多不同。比如在通信協議方面,DCOM采用的是RPC協議而CORBA采用的是IIOP協議。另外,對于客戶端程序而言,訪問提供服務對象的方法也是大相徑庭,前者通過客戶端代理(proxy),經過RPC通道后訪問服務端的存根(stub)后才可以最終訪問到對象;而后者必須先通過客戶端的存根,然后經過IIOP訪問服務端的骨架(skeleton)才能最終訪問到對象。兩種模式分別如圖9-1和9-2所示。





          圖9-1 DCOM方案

          正是因為兩種分布式對象方案各自為政,所以它們只能被用來開發緊耦合類型的Web分布式應用系統。所謂緊耦合,就是指客戶端必須按照特定的規范去訪問服務端提供的服務,而這種規范只在一個有限的范圍內通用。





          圖9-2 CORBA方案

          為了可以在整個因特網中實現對服務的自由訪問,有必要提供一種嶄新的模式或信息交換手段來達到這個目的。于是,微軟提出了Web 服務。

          Web 服務的主要特點之一是,客戶端訪問Web 服務只需要通過因特網標準協議,如HTTP或XML,以及SOAP,不需要專門的協議,如RPC或IIOP。因為HTTP協議和XML都是與平臺無關的標準協議,因此,可以被任何主流操作系統正確理解和解釋。

          另外,更為關鍵的特性是,Web 服務可以被XML語言進行詳盡的描述。這就是說,提供Web服務的站點可以提供一個(或多個)該站點可以對外提供服務的描述文件,這個文件的內容可以被訪問者理解。更進一步說,就是客戶端可以從網絡上直接得到代碼!

          也許舉個例子能更清楚地說明問題。假設開發人員需要搭建一個商務網站,這個網站需要一個驗證客戶合法身份的功能。為了實現這個功能,下面分別描述了可以采用的辦法。

          由開發人員自己編寫安全驗證所需的全部代碼。這樣做顯然不現實,一個安全驗證程序涉及到諸多專業知識,并需要相當長的時間才能夠完成。

          購買這段程序(通常是一個ActiveX組件)。在收到組件之后,首先將組件注冊在自己的機器上,然后根據組件類型庫產生接口文件。在實際編程中就可以使用這個接口文件來訪問組件服務。很明顯,這種方式在目前使用得最為廣泛。

          有了Web 服務,情況就不同了,只需要在自己的程序中通過訪問某個服務的URL地址,得到一份XML描述,并使用這個描述文件產生一個接口文件。然后,在實際編程中,只需要通過這個接口文件來訪問服務就可以了。一定要注意,這個服務可不是運行在我們機器上的,是運行在因特網上URL地址所指向的地方。

          如果這個網站需要更多的功能,而這些功能在一些網站上已經被開發出來,并以各種方式(免費或收費)公開出來供所有需要它們的開發人員來使用,那么,盡量使用它們好了。當然,如果開發人員所在的公司,也想成為Web 服務提供者的話,同樣可以輕松地將他們編寫的Web 服務在網絡上公布出來,供大家使用。

          與緊耦合服務概念相對,由于Web 服務具備通信協議標準性和服務自描述性,所以,使用Web 服務可以開發出松耦合的分布式應用程序來。這也是Web 服務要實現的最根本的設計目標。Web 服務的體系如圖9-3所示。

          posted on 2006-12-13 19:53 天涯孤客 閱讀(294) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 佛教| 从江县| 如皋市| 德惠市| 翼城县| 凤凰县| 闵行区| 新营市| 图木舒克市| 乡宁县| 资兴市| 林甸县| 达日县| 渝中区| 开原市| 恩平市| 教育| 邛崃市| 墨竹工卡县| 晋城| 龙游县| 阿克苏市| 金门县| 武陟县| 逊克县| 社旗县| 清丰县| 宁海县| 镇巴县| 临沧市| 纳雍县| 遂溪县| 化隆| 沙湾县| 兴文县| 新河县| 许昌县| 吉木乃县| 仁寿县| 花莲市| 绩溪县|