http,tcp,ip,協議詳解

一,HTTP請求行中的方法用於HTTP的動作方式,常用的方法有GET、HEAD和POST。

不同的請求對象對應GET的結果是不同的,對應關係如下:

對象                           GET的結果
文件                           文件的內容
程序                           該程序的執行結果
數據庫查詢                查詢結果
 HEAD方法要求服務器查找某對象的元信息,而不是對象本身。
 POST方法從客戶端向服務器傳送數據,POST發送的數據服務器接收後對此進行處理,GET只能傳送128K的數據而POST是無限制的。
二,HTTP,TCP/IP協議的區別
http協議   對應於應用層  
tcp協議    對應於傳輸層   
ip協議     對應於網絡層 

個人理解:tcp,ip更多對於數據傳輸和網絡ip地址,http超文本協議,對應於應用層,就是我們看到的頁面效果

http:主要請求有三部組成:請求行,消息報頭,請求正文
get請求方法:在瀏覽器的地址欄中輸入網址的方式訪問網頁時,瀏覽器採用GET方法向服務器獲取資源
post請求方法:要求被請求服務器接受附在請求後面的數據,常用於提交表單。
get是從服務器上獲取數據,post是向服務器傳送數據。
1. get是從服務器上獲取數據,post是向服務器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對於get方式,服務器端用Request.QueryString獲取變量的值,對於post方式,服務器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認爲不受限制。但理論上,IIS4中最大量爲80KB,IIS5中爲100KB。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。 

建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;

三者本質上沒有可比性,何況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字符組合不使用它。如果傳輸二進制文件,所有的位都是重要的!假如你知道這兩臺機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章