轉自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html
項目要求Web服務是高安全級別,在選擇.net remoting,web service,sockte時無法下手,在了解了Http Tcp/Ip之間的關系后有了思路。Http協議基於TCP/IP協議,Web Service 使用的Http協議也是基於TCP/IP協議,可以放心使用Web Service.
.net remoting:分布式開發技術。http://www.cnblogs.com/leslies2/archive/2011/05/11/2040996.html
web service:由SOAP(簡單對象訪問協議)和WSDL(Web服務描述語言)組成的輕量級的獨立的通訊技術。
SOAP 可以和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議( HTTP),簡單郵件傳輸協議(SMTP),多用途網際郵件擴充協議(MIME).
sockte:套接字,存儲客戶機/服務機識別信息。(C/S程序應用的多些)
----------------------------------------割割-------------------------
一,HTTP請求行中的方法用於HTTP的動作方式,常用的方法有GET、HEAD和POST。
不同的請求對象對應GET的結果是不同的,對應關系如下:
對象 GET的結果
文件 文件的內容
程序 該程序的執行結果
數據庫查詢 查詢結果
HEAD方法要求服務器查找某對象的元信息,而不是對象本身。
POST方法從客戶端向服務器傳送數據,POST發送的數據服務器接收后對此進行處理,GET只能傳送128K的數據而POST是無限制的。
二,HTTP,TCP/IP協議的區別
http協議 對應於應用層
tcp協議 對應於傳輸層
ip協議 對應於網絡層
三者本質上沒有可比性,何況HTTP協議是基於TCP連接的。
TCP/IP是傳輸層協議,主要解決數據如何在網絡中傳輸;而HTTP是應用層協議,主要解決如何包裝數據。
我們在傳輸數據時,可以只使用傳輸層(TCP/IP),但是那樣的話,由於沒有應用層,便無法識別數據內容,如果想要使傳輸的數據有意義,則必須使用應用層協議,應用層協議很多,有HTTP、FTP、TELNET等等,也可以自己定義應用層協議。WEB使用HTTP作傳輸層協議,以封裝HTTP文本信息,然后使用TCP/IP做傳輸層協議將它發送到網絡上。
Socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個調用接口(API),通過Socket,我們才能使用TCP/IP協議。
三,FTP協議的傳輸方式
1,ASCII傳輸方式
如果在遠程機器上運行的不是UNIX,當文件傳輸時FTP通常會自動調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳的文件包含的不是文本文件,他們可能是程序、數據庫、字處理文件或者壓縮文件等,在復制之前,應該用binary命令高數FTP逐字復制,不要對這些文件進行處理,這也就是它的另一種傳輸方式,二進制傳輸。
2,二進制傳輸
在二進制傳輸中,數據中保存文件的位序,這樣原始的數據和復制的數據書逐位一一對應,而對數據內容本身不進行判斷。在大多數計算機上,ASCII方式一般假設每一位字符的第一有效位無意義,因為ASCII字符組合不使用它。如果傳輸二進制文件,所有的位都是重要的!假如你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。