Tcp協議和http協議的區別
阿新 • • 發佈:2019-02-05
tcp對應於傳輸層、http對應於應用層
http協議建立在tcp協議之上
過程:當獲取網路資料時,http通過TCP建立以個到伺服器的通道,請求完成後,http立即斷開連線,次過程非常短。所以說http是一種短連線、無狀態連線。
socket稱為套接字,方便程式設計師使用TCP/IP協議,它提供了網路通訊的能力
其中有如下關係:
客戶端程序--客戶端socket--tcp連線--http
伺服器程序--伺服器socket--TCP連線--http
socket是他們之間的“門”,http的相應和接收到要經過這個“門”
TCP/IP是個協議組,有四層:網路介面層、網路層、傳輸層、應用層
網路層:iP協議、ICMP協議、ARP協議、RARP協議、BOOTP協議
傳輸層:TCP協議、UDP協議
應用層:FTP HTTP TELNET SMTP DNS等協議
URL:統一資源識別符號
格式:schema://host[:port#]/path/…/[?query-string][#anchor]
HTTP協議之Get和Post
http定義了許多與伺服器互動的方法、最基本的有四種: GET、POST、PUT、DELETE POST與GET的區別
scheme 指定低層使用的協議(例如:http, https, ftp)
host HTTP伺服器的IP地址或者域名
port# HTTP伺服器的預設埠是80,這種情況下埠號可以省略。如果使用了別的埠,必須指明,例如 http://www.cnblogs.com:8080/
path 訪問資源的路徑
query-string 傳送給http伺服器的資料
anchor- 錨
URL 的一個例子
http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff
HTTP協議之Get和Post
http定義了許多與伺服器互動的方法、最基本的有四種: GET、POST、PUT、DELETE POST與GET的區別
1. GET提交的資料會放在URL之後,以?分割URL和傳輸資料,引數之間以&相連,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的資料放在HTTP包的Body中.
2. GET提交的資料大小有限制(因為瀏覽器對URL的長度有限制),而POST方法提交的資料沒有限制.
3. GET方式需要使用Request.QueryString來取得變數的值,而POST方式通過Request.Form來獲取變數的值,也就是說Get是通過位址列來傳值,而Post是通過提交表單來傳值。
4. GET方式提交資料,會帶來安全問題,比如一個登入頁面,通過GET方式提交資料時,使用者名稱和密碼將出現在URL上,如果頁面可以被快取或者其他人可以訪問這臺機器,就可以從歷史記錄獲得該使用者的賬號和密碼.