国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【JavaEE】網(wǎng)絡(luò)原理-HTTP

這篇具有很好參考價(jià)值的文章主要介紹了【JavaEE】網(wǎng)絡(luò)原理-HTTP。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

網(wǎng)絡(luò)原理-HTTP

1. HTTP是什么

HTTP是一種基于傳輸層TCP并位于應(yīng)用層的超文本協(xié)議

目前主要使用HTTP1.1和HTTP2.0


2. HTTP協(xié)議基本格式

2.1 使用Fiddler抓包進(jìn)行分析

關(guān)于Fiddler:

  1. 是一個(gè)代理工具,就像高速路上的收費(fèi)站,不管什么車,只要它從高速路上經(jīng)過,那么就需要經(jīng)過收費(fèi)站
  2. 對應(yīng)到網(wǎng)站上,就是不管什么網(wǎng)站,只要有數(shù)據(jù)的上傳下載,那么就會經(jīng)過Fiddler,此時(shí)Fiddler就能夠知道所有網(wǎng)站的信息

使用方法:

  1. 刪除無關(guān)抓包信息(ctrl+A,delete)
    not(a:brand

  2. 打開想要抓包的網(wǎng)站 > 藍(lán)色對應(yīng)的即是request

  3. 查看request

    在Fiddler的右半邊,查看請求和響應(yīng)

not(a:brand


結(jié)果:

not(a:brand

2.2 分析結(jié)果

請求:
GET https://www.baidu.com/ HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Microsoft Edge";v="122"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,zh-TW;q=0.5
Cookie: BIDUPSID=E1CBCCEF16E949D2FB803515D5054D7C; PSTM=1697071850; BD_UPN=12314753; sug=0; sugstore=0; BAIDUID=E1CBCCEF16E949D20FBD5E22D2DA6844:SL=0:NR=10:FG=1; ORIGIN=2; bdime=0; H_WISE_SIDS=40009_40204_39661_40207_40215_40266_40295_40290_40287_40285; H_WISE_SIDS_BFESS=40009_40204_39661_40207_40215_40266_40295_40290_40287_40285; newlogin=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BA_HECTOR=852l8g05858g0g8h850g0580jpjv5b1iv0e401s; ZFY=3PherofMOQjTtCmZZKg9U85hiYToS99infKIvCcpg:Bc:C; BAIDUID_BFESS=E1CBCCEF16E949D20FBD5E22D2DA6844:SL=0:NR=10:FG=1; H_PS_PSSID=40009_39661_40207_40215_40295_40290_40287_40285_40318_40079_40365_40352_40369_40374_40401_40415


  1. 首行:“方法 url HTTP版本”

  2. Header:以鍵值對的形式進(jìn)行標(biāo)識,每組屬性之間使用\n進(jìn)行分隔

  3. Body:與Header部分有一個(gè)空行,其主體用來傳遞數(shù)據(jù)

    1. Body可以為空
    2. 不為空時(shí),在Header部分會有Content-type屬性標(biāo)識Body的長度
響應(yīng):
HTTP/1.1 200 OK
Connection: keep-alive
Content-Security-Policy: frame-ancestors 'self' https://chat.baidu.com http://mirror-chat.baidu.com https://fj-chat.baidu.com https://hba-chat.baidu.com https://hbe-chat.baidu.com https://njjs-chat.baidu.com https://nj-chat.baidu.com https://hna-chat.baidu.com https://hnb-chat.baidu.com http://debug.baidu-int.com;
Content-Type: text/html; charset=utf-8
Date: Tue, 12 Mar 2024 14:57:29 GMT
Server: BWS/1.1
Set-Cookie: H_PS_PSSID=40009_39661_40207_40215_40295_40290_40287_40285_40318_40079_40365_40352_40369_40374_40401_40415; path=/; expires=Wed, 12-Mar-25 14:57:29 GMT; domain=.baidu.com
Traceid: 1710255449131260929015864326830156617079
X-Ua-Compatible: IE=Edge,chrome=1
X-Xss-Protection: 1;mode=block
Content-Length: 406157

<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta content="always" name="referrer"><meta name="theme-color" content="#ffffff"><meta name="description" content="全球領(lǐng)先的中文搜索引擎、致力于讓網(wǎng)民更便捷地獲取信息,找到所求。百度超過千億的中文網(wǎng)頁數(shù)據(jù)庫,可以瞬間找到相關(guān)的搜索結(jié)果。"><link rel="shortcut icon" 
......
  1. 首行:“版本號 狀態(tài)碼 狀態(tài)碼解釋”

  2. Header:以鍵值對的形式進(jìn)行標(biāo)識,每組屬性之間使用\n進(jìn)行分隔

  3. Body:與Header部分有一個(gè)空行,其主體用來傳遞數(shù)據(jù)

    1. Body可以為空
    2. 不為空時(shí),在Header部分會有Content-type屬性標(biāo)識Body的長度
為什么都會有一個(gè)“空行”存在?

因?yàn)榭招斜硎井?dāng)前Header部分結(jié)束。

如果沒有這個(gè)標(biāo)識,會因?yàn)榈讓邮褂肨CP而發(fā)生**“粘包”問題**


3. HTTP請求(Request)

3.1 方法
方法 說明 支持的版本
get 獲取資源(可以請求緩存,無長度限制) 1.0,1.1
post 提交表單數(shù)據(jù),創(chuàng)建更新資源(不可請求緩存,無長度限制) 1.0,1.1
put 傳輸文件 1.0,1.1
head 獲取報(bào)文首部 1.0,1.1
delete 刪除文件 1.0,1.1
options 查詢指定資源針對URL請求支持的方法 1.1
trace 跟蹤路徑 1.1
connect 連接改為管道方式 1.1
link 請求和服務(wù)器建立連接 1.0
unline 斷開連接 1.0
3.2 GET方法

使用Fiddler進(jìn)行抓包觀察:

not(a:brand

特點(diǎn)
  1. 首行的第一部分顯示為:“GET”

  2. URL的query string可以為空,也可以不為空

    一個(gè)網(wǎng)址中==在問號后面的==就是query string內(nèi)容not(a:brand

  3. Header部分為鍵值對結(jié)構(gòu)

  4. body部分為空(所以Header部分沒有Content-Length)

3.3 POST方法

使用Fiddler進(jìn)行抓包觀察:

not(a:brand

特點(diǎn)
  1. 首行第一部分為POST

  2. body部分不為空

    長度由Header部分的Content-Length決定

    數(shù)據(jù)格式由Header部分的Content-Type決定

  3. URL的query string?般為空(也可以不為空)

    同GET方法的query string

3.4 GET與POST的區(qū)別?
  1. GET請求一般是冪等的

    POST請求一般不是冪等的

    冪等就是多次請求得到的結(jié)果仍然相同

  2. GET請求一般用于獲取資源

    POST請求一般用于提交數(shù)據(jù)

  3. GET請求可以被緩存

    POST請求不被緩存

    因?yàn)镻OST每次獲取的數(shù)據(jù)都是不一樣的, 所以不便于緩存

    但是GET請求每次都是重復(fù)內(nèi)容, 緩存后能夠加快訪問速度

  4. GET請求的body一般為空, 使用query string 進(jìn)行數(shù)據(jù)傳遞

    POST請求的query string 一般為空, 使用body進(jìn)行數(shù)據(jù)傳遞

以上區(qū)別都不是硬性的, 都只是標(biāo)準(zhǔn)中的建議, 實(shí)際使用過程中完全可以不遵守這個(gè)約定.

  • 可以將GET用于發(fā)送數(shù)據(jù), POST用于獲取數(shù)據(jù)
  • GET也可是不冪等的
    • 因?yàn)?有些網(wǎng)站中, 可以根據(jù)用戶的歷史記錄進(jìn)行實(shí)時(shí)個(gè)性化推薦
    • 這同樣使用了GET, 但是這個(gè)返回的數(shù)據(jù)每次都是不同的

4. 請求"報(bào)頭"(Header)

  1. Host: 表示服務(wù)器主機(jī)的地址和端口

  2. Content-Length: body長度

  3. Content-Type: body數(shù)據(jù)格式

  4. User-Agent (UA): 標(biāo)識訪問服務(wù)器的操作系統(tǒng), 瀏覽器的屬性信息

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0

    • (Windows NT 10.0; Win64; x64) : 是操作系統(tǒng)信息
    • Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0: 是瀏覽器信息
  5. Referer: 表示當(dāng)前頁面由哪個(gè)頁面跳轉(zhuǎn)過來

    Referer: https://www.baidu.com/

  6. Cookie : 用戶登錄網(wǎng)站的"令牌"

    • 就像以前出入皇宮, 都需要進(jìn)行嚴(yán)格的查驗(yàn), 但是只要你擁有皇上欽賜的==“黃馬褂”==, 那么就可以暢通無阻
    • 網(wǎng)站中的cookie, 就是發(fā)揮著記錄你登陸網(wǎng)站的信息, 比如用戶名和密碼等, 下次再進(jìn)行登錄的時(shí)候就可以不用輸入用戶名和密碼
    • cookie會保存在用戶的本地, 有些cookie是永久性的(除非手動刪除), 有些cookie是有有效期的

    not(a:brand


5. 狀態(tài)碼(Status Code)

5.1 2xx 成功

  • 200 OK:請求成功。
  • 201 Created:請求成功并且服務(wù)器創(chuàng)建了新的資源。
  • 202 Accepted:服務(wù)器已接受請求,但尚未處理。
  • 204 No Content:服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容。

5.2 3xx 重定向

  • 301 Moved Permanently:請求的資源已永久移動到新位置。

    • 就像以前經(jīng)常換號的那個(gè)年代, 一個(gè)已經(jīng)被很多朋友知道的手機(jī)號, 不想一一通知他們換了新號, 那就辦理一個(gè)==“呼叫轉(zhuǎn)移”==服務(wù),

    • 別人還是可以照常打到以前的那個(gè)號碼, 但是會直接撥通到現(xiàn)在這個(gè)新號

  • 302 Found(舊稱 Moved Temporarily):請求的資源現(xiàn)在臨時(shí)從不同的URI響應(yīng)請求。

  • 304 Not Modified:自從上次請求后,請求的資源未修改過。

5.3 4xx 客戶端錯(cuò)誤

  • 400 Bad Request:服務(wù)器不理解請求的語法。
  • 401 Unauthorized:請求要求身份驗(yàn)證。
  • 403 Forbidden:服務(wù)器拒絕請求。
  • 404 Not Found:服務(wù)器找不到請求的資源。
  • 429 Too Many Requests:用戶在給定的時(shí)間內(nèi)發(fā)送了太多的請求。

5xx 服務(wù)器錯(cuò)誤

  • 500 Internal Server Error:服務(wù)器遇到錯(cuò)誤,無法完成請求。
  • 501 Not Implemented:服務(wù)器不具備完成請求的功能。
  • 502 Bad Gateway:服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)。
  • 503 Service Unavailable:服務(wù)器暫時(shí)不可用(超載或停機(jī)維護(hù))。
  • 504 Gateway Timeout:服務(wù)器作為網(wǎng)關(guān)或代理,但是沒有及時(shí)從上游服務(wù)器收到請求。

6. 響應(yīng)正文(body)

? 最重要的屬性是Content-Type文章來源地址http://www.zghlxwxcb.cn/news/detail-842157.html

  1. text/html :body數(shù)據(jù)格式是HTML
  2. text/css :body數(shù)據(jù)格式是CSS
  3. application/javascript :body數(shù)據(jù)格式是JavaScript
  4. application/json :body數(shù)據(jù)格式是JSON

到了這里,關(guān)于【JavaEE】網(wǎng)絡(luò)原理-HTTP的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JavaEE】_網(wǎng)絡(luò)通信原理

    【JavaEE】_網(wǎng)絡(luò)通信原理

    目錄 1. 網(wǎng)絡(luò)發(fā)展史 2.?網(wǎng)絡(luò)通信基礎(chǔ) 1.1?IP地址 1.2?端口號 1.3 協(xié)議 1.3.1 概念 1.3.2 五元組 1.4? 協(xié)議分層 1.4.1 協(xié)議分層的優(yōu)點(diǎn) 1.4.2 協(xié)議分層的分類 1.4.3網(wǎng)絡(luò)設(shè)備所在分層 1.4.4 兩臺主機(jī)通過TCP/IP協(xié)議通訊過程 1.5 封裝與分用 1.5.1 封裝 1.5.2 分用 (1)單機(jī):計(jì)算機(jī)之間相互獨(dú)立;

    2024年01月19日
    瀏覽(17)
  • 【JAVAEE】網(wǎng)絡(luò)原理之網(wǎng)絡(luò)通信基礎(chǔ)

    【JAVAEE】網(wǎng)絡(luò)原理之網(wǎng)絡(luò)通信基礎(chǔ)

    目錄 1. ??IP地址 1.1 ??IP地址的格式 1.2 ??特殊IP地址 2. ?端口號 2.1? ??端口號的格式 3. ??網(wǎng)絡(luò)協(xié)議 3.1 ??為什么需要網(wǎng)絡(luò)協(xié)議? 3.2 ??網(wǎng)絡(luò)協(xié)議的概念與組成 3.3 ??知名協(xié)議的默認(rèn)端口 3.4 ??五元組 4. ??網(wǎng)絡(luò)協(xié)議分層 4.1 ??協(xié)議分層的好處 4.2 ??網(wǎng)絡(luò)協(xié)議的分層模型一

    2023年04月24日
    瀏覽(26)
  • 【javaEE】計(jì)算機(jī)網(wǎng)絡(luò)原理初始

    【javaEE】計(jì)算機(jī)網(wǎng)絡(luò)原理初始

    目錄 1、網(wǎng)絡(luò)發(fā)展史 1.1、獨(dú)立模式 1.2、網(wǎng)絡(luò)互連 1.2.1、局域網(wǎng)(LAN) 1.2.2、廣域網(wǎng)(WAN) 1.2.3、廣域網(wǎng)和局域網(wǎng)的區(qū)別 1.2.4、局域網(wǎng)組建網(wǎng)絡(luò)的方式 (了解) 2、網(wǎng)絡(luò)通信基礎(chǔ) 2.1、IP地址 2.2、端口號? 2.3、認(rèn)識協(xié)議 2.4、協(xié)議分層 2.5、OSI七層網(wǎng)絡(luò)模型 2.6、TCP/IP五層模型 2

    2024年02月07日
    瀏覽(25)
  • 網(wǎng)絡(luò)原理(JavaEE初階系列11)

    網(wǎng)絡(luò)原理(JavaEE初階系列11)

    目錄 前言: 1.網(wǎng)絡(luò)原理的理解 2.應(yīng)用層 2.1自定義協(xié)議的約定 2.1.1確定要傳輸?shù)男畔?2.1.2確定數(shù)據(jù)的格式 3.傳輸層 3.1UDP 3.1.1UDP報(bào)文格式 3.2TCP 3.2.1確認(rèn)應(yīng)答 3.2.2超時(shí)重傳 3.2.3連接管理 3.2.3.1三次握手 3.2.3.2四次揮手 3.2.4滑動窗口 3.2.5流量控制 3.2.6擁塞控制 3.2.7延時(shí)應(yīng)答 3.2.8捎帶

    2024年02月13日
    瀏覽(44)
  • 【JavaEE】網(wǎng)絡(luò)原理:網(wǎng)絡(luò)中的一些基本概念

    【JavaEE】網(wǎng)絡(luò)原理:網(wǎng)絡(luò)中的一些基本概念

    目錄 1. 網(wǎng)絡(luò)通信基礎(chǔ) 1.1 IP地址 1.2?端口號 1.3?認(rèn)識協(xié)議 1.4?五元組 1.5?協(xié)議分層 什么是協(xié)議分層 分層的作用 OSI七層模型 TCP/IP五層(或四層)模型 網(wǎng)絡(luò)設(shè)備所在分層 網(wǎng)絡(luò)分層對應(yīng) 封裝和分用 概念: IP地址主要用于標(biāo)識網(wǎng)絡(luò)主機(jī)、其他網(wǎng)絡(luò)設(shè)備(如路由器)的網(wǎng)絡(luò)地址。簡

    2024年01月24日
    瀏覽(23)
  • JavaEE-輕松了解網(wǎng)絡(luò)原理之TCP協(xié)議

    JavaEE-輕松了解網(wǎng)絡(luò)原理之TCP協(xié)議

    TCP,即Transmission Control Protocol,傳輸控制協(xié)議. 16位源端口號與16位目的端口號表示數(shù)據(jù) 從那個(gè)進(jìn)程來要到那個(gè)進(jìn)程去 . 32位序號表示 一次TCP通信(從TCP連接建立到斷開)過程中某一個(gè)傳輸方向上的字節(jié)流的每個(gè)字節(jié)的編號 (TCP將每個(gè)字節(jié)的數(shù)據(jù)都進(jìn)行了編號,稱為序列號). 32為

    2024年02月01日
    瀏覽(20)
  • 【JavaEE】網(wǎng)絡(luò)原理——傳輸層協(xié)議:UDP和TCP

    【JavaEE】網(wǎng)絡(luò)原理——傳輸層協(xié)議:UDP和TCP

    目錄 1、簡單了解應(yīng)用層協(xié)議 2、傳輸層UDP協(xié)議 3、傳輸層TCP協(xié)議? 3.1、TCP報(bào)文介紹 3.2、TCP實(shí)現(xiàn)可靠傳輸?shù)暮诵臋C(jī)制 3.2.1、確認(rèn)應(yīng)答 3.2.2、超時(shí)重傳? 3.3、連接管理 (三次揮手,四次握手) 3.3.1、建立連接(三次握手) 3.3.2、斷開連接(四次揮手)? 3.4、滑動窗口 ?3.5、流量

    2024年02月10日
    瀏覽(31)
  • 【JavaEE初階】網(wǎng)絡(luò)原理|認(rèn)識協(xié)議|協(xié)議分層|TCP/IP模型|封裝和分用

    【JavaEE初階】網(wǎng)絡(luò)原理|認(rèn)識協(xié)議|協(xié)議分層|TCP/IP模型|封裝和分用

    目錄 一、認(rèn)識協(xié)議 1.概念 2.作用(為什么需要協(xié)議?) 二、協(xié)議分層 1.為什么需要?絡(luò)協(xié)議的分層? 2. 協(xié)議分層是什么 3.分層帶來的好處 三、TCP/IP五層(或四層)模型 (1)物理層 (2)數(shù)據(jù)鏈路層 (3)網(wǎng)絡(luò)層 (4)傳輸層 (5)應(yīng)用層 四、封裝和分用(協(xié)議的層和層之間

    2024年04月23日
    瀏覽(20)
  • JAVAEE初階相關(guān)內(nèi)容第十七彈--網(wǎng)絡(luò)原理之TCP_IP

    JAVAEE初階相關(guān)內(nèi)容第十七彈--網(wǎng)絡(luò)原理之TCP_IP

    目錄 1. TCP-IP五層模型 2. UDP協(xié)議 2.1 特點(diǎn) 2.2 UDP協(xié)議端格式 2.3 校驗(yàn)和 3. TCP協(xié)議 3.1 特點(diǎn) 3.2 TCP協(xié)議段格式 3.2.1 首部長度 3.2.2 選項(xiàng) 3.2.3 保留6位 3.3 TCP內(nèi)部的工作機(jī)制 3.3.1 確認(rèn)應(yīng)答 (1)應(yīng)答報(bào)文ack (2)小結(jié) 3.3.2 超時(shí)重傳 3.3.3 連接管理 3.3.4 滑動窗口 窗口大小 3.3.5流量控制 3

    2024年01月18日
    瀏覽(26)
  • JAVAEE初階相關(guān)內(nèi)容第十九彈--網(wǎng)絡(luò)原理之TCP_IP【續(xù)集2】

    JAVAEE初階相關(guān)內(nèi)容第十九彈--網(wǎng)絡(luò)原理之TCP_IP【續(xù)集2】

    上一篇博客主要介紹的是關(guān)于網(wǎng)絡(luò)層協(xié)議-IP協(xié)議的重點(diǎn)介紹。需要掌握關(guān)于IP協(xié)議的協(xié)議頭格式,關(guān)于IPV4分配不夠的解決辦法。地址管理與路由選擇。 點(diǎn)擊跳轉(zhuǎn)上一篇博客 本篇博客將繼續(xù)學(xué)習(xí)關(guān)于計(jì)網(wǎng)中協(xié)議的內(nèi)容。 本篇博客主要介紹關(guān)于數(shù)據(jù)鏈路層的重點(diǎn)協(xié)議-以太網(wǎng)。

    2024年02月03日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包