精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通信協議中的HTTP、TCP、UDP你了解多少(上)

jf_78858299 ? 來源:Java架構技術 ? 作者:Java架構技術 ? 2023-02-13 14:19 ? 次閱讀

TCP HTTP UDP:

都是通信協議,也就是通信時所遵守的規則,只有雙方按照這個規則“說話”,對方才能理解或為之服務。

TCP HTTP UDP三者的關系:

TCP/IP是個協議組,可分為四個層次:網絡接口層、網絡層、傳輸層和應用層。

在網絡層有IP協議、ICMP協議、ARP協議、RARP協議和BOOTP協議。

在傳輸層中有TCP協議與UDP協議。

在應用層有FTP、HTTP、TELNET、SMTP、DNS等協議。

因此,HTTP本身就是一個協議,是從Web服務器傳輸超文本到本地瀏覽器的傳送協議。

socket:

這是為了實現以上的通信過程而建立成來的通信管道,其真實的代表是客戶端和服務器端的一個通信進程,雙方進程通過socket進行通信,而通信的規則采用指定的協議。socket只是一種連接模式,不是協議,tcp、udp,簡單的說(雖然不準確)是兩個最基本的協議,很多其它協議都是基于這兩個協議如,http就是基于tcp的,.用socket可以創建tcp連接,也可以創建udp連接,這意味著,用socket可以創建任何協議的連接,因為其它協議都是基于此的。

下面我們主要來看一下和我們互聯網生活密切相關的協議:HTTP

什么是Http協議

HTTP全稱是HyperText Transfer Protocal,即:超文本傳輸協議,從1990年開始就在WWW上廣泛應用,是現今在WWW上應用最多的協議, Http是應用層協議,當你上網瀏覽網頁的時候,瀏覽器和Web服務器之間就會通過HTTP在Internet上進行數據的發送和接收。Http是一個基于請求/響應模式的、無狀態的協議。即我們通常所說的Request/Response。

URL:

URL(Uniform Resource Locator) 地址用于描述一個網絡上的資源, 基本格式如下

schema://host[:port#]/path/…/[?query-string][#anchor]

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

Schema: http

host: www.mywebsite.com

path: /sj/test/test.aspx

Query String: name=sviergn&x=true

Anchor: stuff

HTTP的Request/Response:

先看Request 消息的結構, Request 消息分為3部分

第一部分叫Request line,

第二部分叫Request header,

第三部分是body. header和body之間有個空行,

結構如下圖

第一行中的Method表示請求方法,比如”POST”,”GET”, Path-to-resoure表示請求的資源, Http/version-number 表示HTTP協議的版本號

當使用的是”GET” 方法的時候, body是為空的

比如我們打開博客園首頁的request 如下

GET http://www.cnblogs.com/ HTTP/1.1

Host: www.cnblogs.com

抽象的東西,難以理解,老感覺是虛的, 所謂眼見為實, 實際見到的東西,我們才能理解和記憶。 我們今天用Fiddler,實際的看看Request和Response.

下面我們打開Fiddler 捕捉一個博客園登錄的Request 然后分析下它的結構, 在Inspectors tab下以Raw的方式可以看到完整的Request的消息,

如下圖

圖片

Accept

作用: 瀏覽器端可以接受的媒體類型,

例如: Accept: text/html 代表瀏覽器可以接受服務器回發的類型為 text/html 也就是我們常說的html文檔,

如果服務器無法返回text/html類型的數據,服務器應該返回一個406錯誤(non acceptable)

通配符 * 代表任意類型

例如 Accept: / 代表瀏覽器可以處理所有類型,(一般瀏覽器發給服務器都是發這個)

Referer:

作用: 提供了Request的上下文信息的服務器,告訴服務器我是從哪個鏈接過來的,比如從我主頁上鏈接到一個朋友那里,他的服務器就能夠從HTTP Referer中統計出每天有多少用戶點擊我主頁上的鏈接訪問他的網站。

例如: Referer:http://translate.google.cn/?hl=zh-cn&tab=wT

Accept-Language

作用: 瀏覽器申明自己接收的語言。

語言跟字符集的區別:中文是語言,中文有多種字符集,比如big5,gb2312,gbk等等;

例如: Accept-Language: en-us

Content-Type

作用:

例如:Content-Type: application/x-www-form-urlencoded

Accept-Encoding:

作用: 瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支持壓縮,支持什么壓縮方法(gzip,deflate),(注意:這不是只字符編碼);

例如: Accept-Encoding: gzip, deflate

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信協議
    +關注

    關注

    28

    文章

    857

    瀏覽量

    40256
  • HTTP
    +關注

    關注

    0

    文章

    501

    瀏覽量

    31060
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1349

    瀏覽量

    78986
  • UDP
    UDP
    +關注

    關注

    0

    文章

    322

    瀏覽量

    33876
收藏 人收藏

    評論

    相關推薦

    通信必備知識!TCPUDP協議介紹及使用

    協議,它在數據傳輸之前不需要建立連接。發送端可以直接將數據報文(數據段)扔到網絡,而接收端則從網絡接收數據,并從消息隊列讀取數據段。UDP
    的頭像 發表于 03-15 08:19 ?1735次閱讀
    <b class='flag-5'>通信</b>必備知識!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>介紹及使用

    TCP通信協議-Labview上位機

    現在用單片機進行信息采集,通過GPRS模塊上傳到PC,用Labview做上位機,TCP通信協議,想請教一下,TCP通信協議和Modbus TCP
    發表于 12-10 08:58

    TCPUDP協議區別

    組成員關系。TCP傳輸控制協議(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。UDP用戶數據報
    發表于 03-23 10:12

    TCPUDP的區別分析

      傳輸層協議主要有TCPUDP。UDP提供無連接的通信,不能保證數據包被發送到目標地址,典型的即時傳輸少量數據的應用程序通常使用
    發表于 09-18 10:29 ?2次下載

    如何使用Socket實現TCPUDP的原理探索

    Socket是傳輸層提供的網絡進程通信接口。它封裝了通信協議族系的不同、同一族系傳輸層不同協議的差別。用戶可以為Socket 機制選取不同的參數,使Socket機制支持不同族系的通信協議
    發表于 11-28 11:54 ?9次下載
    如何使用Socket實現<b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的原理探索

    tcpudp協議的異同

    。UDP 校驗和則是包含 UDP 首部和數據在內的校驗結果。 TCP協議 TCP協議基于網絡層的
    的頭像 發表于 11-12 14:45 ?4011次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b><b class='flag-5'>協議</b>的異同

    TCP協議UDP協議的區別和相同點有哪些 一文看懂TCP協議UDP協議的優缺點

    首先咱們弄清楚,TCP協議和UCP協議TCP/IP協議的聯系,很多人犯糊涂了,一直都是說TCP
    的頭像 發表于 05-26 14:35 ?9532次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>的區別和相同點有哪些 一文看懂<b class='flag-5'>TCP</b><b class='flag-5'>協議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>的優缺點

    通信協議HTTPTCPUDP了解多少(下)

    我們上網登陸論壇的時候,往往會看到一些歡迎信息,其中列出了的操作系統的名稱和版本,所使用的瀏覽器的名稱和版本,這往往讓很多人感到很神奇,實際,服務器應用程序就是從User-Agent這個請求
    的頭像 發表于 02-13 14:23 ?338次閱讀
    <b class='flag-5'>通信協議</b><b class='flag-5'>中</b>的<b class='flag-5'>HTTP</b>、<b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>你</b><b class='flag-5'>了解</b>多少(下)

    TCP協議UDP協議的區別

    TCP/IP協議中有兩個具有代表性的傳輸層協議,分別是TCP協議UDP
    的頭像 發表于 03-21 10:39 ?1158次閱讀

    一文搞明白TCP協議UDP協議

    網絡編程有三個要素,分別是IP地址、端口號和通信協議,那本文主要講述的是TCPUDP這兩種通信協議,以及編程的實現。 首先,我們需要了解
    的頭像 發表于 05-18 17:17 ?644次閱讀
    一文搞明白<b class='flag-5'>TCP</b><b class='flag-5'>協議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>(<b class='flag-5'>上</b>)

    一文搞明白TCP協議UDP協議(下)

    網絡編程有三個要素,分別是IP地址、端口號和通信協議,那本文主要講述的是TCPUDP這兩種通信協議,以及編程的實現。 首先,我們需要了解
    的頭像 發表于 05-18 17:17 ?624次閱讀
    一文搞明白<b class='flag-5'>TCP</b><b class='flag-5'>協議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>(下)

    IP地址、端口號、通信協議的相關知識 TCPUDP通信協議簡述

    網絡編程有三個要素,分別是IP地址、端口號和通信協議。本文主要講述的是TCPUDP這兩種通信協議,以及編程的實現。首先,我們需要了解一下I
    的頭像 發表于 07-18 11:20 ?1865次閱讀
    IP地址、端口號、<b class='flag-5'>通信協議</b>的相關知識 <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b><b class='flag-5'>通信協議</b>簡述

    TCPUDP協議有什么區別?如何通過網關實現TCP協議通信?

    TCP協議是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,能夠保證數據從發送方到達接收方,是物聯網領域常見的通信協議之一。 TCP是面
    的頭像 發表于 01-24 11:07 ?569次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>有什么區別?如何通過網關實現<b class='flag-5'>TCP</b><b class='flag-5'>協議</b><b class='flag-5'>通信</b>?

    了解清楚了嘛-TCPHTTP、MQTT協議

    TCPHTTP 和 MQTT 是三種不同層級和用途的協議是進行設備互聯和傳送數據的重要組成部分;TCP適用高可靠性傳送,HTTP適用Web
    的頭像 發表于 07-11 11:34 ?2609次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b>清楚了嘛-<b class='flag-5'>TCP</b>、<b class='flag-5'>HTTP</b>、MQTT<b class='flag-5'>協議</b>

    tcpudp的區別和聯系

    揮著重要作用。然而,它們在設計、功能和性能方面存在顯著差異。 二、TCPUDP的定義 傳輸控制協議TCPTCP是一種面向連接的、可靠
    的頭像 發表于 08-16 11:06 ?528次閱讀