日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android rtsp协议转http协议_网络协议HTTP 协议(一)

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android rtsp协议转http协议_网络协议HTTP 协议(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTP協議?是一種無狀態的、應用層的、以請求/應答方式運行的協議,它使用可拓展的語義和自描述消息格式,與基于網絡的超文本信息系統靈活地互動。

1.HTTP 請求場景示意圖

2.瀏覽器發起 HTTP 請求流程圖

3.DNS 解析流程示意圖

DNS解析的目的就是把域名字符串對應的?ip地址?拿到,有了這個?ip地址?之后就可以向?ip地址對應的計算機發起通信了:

3.1 DNS 解析流程示意圖

3.2 DNS 解析流程說明圖

4.構建 HTTP 請求

上述步驟拿到?ip地址之后通過該?ip地址完成三次握手建立TCP?接連(TCP 連接的內容會在后續文章介紹),然后就可構建HTTP請求,填充上下文至HTTP頭部,再發起?HTTP請求,這個時候就會涉及到?HTTP?協議的格式,下面介紹基于ABNF語言描述的HTTP協議格式:

4.1 HTTP 協議的格式示意圖

Tips:描述圖中的 HTTP 格式就需要制定一種嚴格的規范,通常 HTTP 協議是基于?ABNF?語言來嚴格定義。

4.2 ABNF(擴充巴科斯-瑙爾范式)操作符

  • (1)空白字符(SP):用來分隔協議定義中的各個元素

    method SP request-target SP HTTP-version CRLF
  • (2)選擇(/):表示可以選擇的規則

    start-line = request-line / status-line
  • (3)范圍值(%c##-##)

    OCTAL = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" 等價于 OCTAL = %x30-37
  • (4)序列組合(( )):把規則組合起來作為單個元

  • (5)不定量重復(m*n)

    *表示 0 個或多個元素:*(header-field CRLF)
    1*表示 1 個或多個元素:2*4 表示 2-4 個元素
  • (6)可選序列([])

    [message-body]

4.3 ABNF(擴充巴科斯-瑙爾范式)規則表

下面列舉出?ABNF?描述的字符規則及含義:

規則定義形式含義
ALPHA%x41-5A / %x61-71大寫和小寫字母(A-Z,a-z) ASSCII
DIGIT%x30-39數字0-9
HEXDIGDIGIT / “A” / “B” / “C” / “D” / “E” / “F”十六進制數字(0-9,A-F,a-f)
DQUOTE%x22雙引號
SP%x22空格
HTAB%x09橫向制表符
WSPSP / HTAB空格或橫向制表符
LWSP*(WSP / CRLF WSP)直線空白
VCHAR%x21-7E可見(打印)字符
CHAR%x01-7F任何7-位 US-ASCII 字符,不包括 NUL(%x00)
OCTET%x00-FF8位數據
CTL%x00-1F / %x7F控制字符
CR%0D回車
LF%x0A換行
CRLFCRLF互聯網標準換行
BIT“0” / “1”二進制數字

4.4 基于 ABNF 描述的 HTTP 協議格式

HTTP-message = start-line *(header-field CRLF) CRLF [message-body]
start-line = request-line / status-line
request-line = method SP request-target SP HTTP-version CRLF
status-line = HTTP-version SP status-code SP reason-phrase CRLF
header-field = field-name ":" OWS field-value OWS
OWS = *(SP / HTAB)
field-name = token
field-value = *(field-content / obs-fold)
message-body = *OCTET

5.Telnet 模擬 HTTP 請求

telnet singwa666.com 80
GET /themes/simpleboot3/portal/public/assets/css/moco.css HTTP/1.1
Host: singwa666.com

返回如下圖所示:

Tips:首先輸入?telnet singwa666.com 80?之后會提示和?49.234.12.156?連接成功,然后提示輸入內容,接下來輸入?GET /themes/simpleboot3/portal/public/assets/css/moco.css HTTP/1.1和Host: singwa666.com?兩次回車,可以看到請求數據和返回數據都遵循?ABNF?規范。

6.小結

本文主要介紹了?HTTP?請求的過程,然后對?DNS?域名解析做了詳細的描述,DNS?解析拿到?ip?地址之后就可以完成經典的?TCP/IP?握手,然后就可以發起?HTTP?請求了,文中還對?HTTP?請求的格式規范做了介紹,HTTP?協議規范是基于?ANBF?語言的一種嚴格定義,最后介紹了如何試用?telnet?工具模擬?HTTP?請求過程。

掃碼關注愛因詩賢

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的android rtsp协议转http协议_网络协议HTTP 协议(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。