網絡原理-HTTP

應用層自定義協議

自定義協議是指根據特定需求設計的通信規則,用于設備或系統間的數據交換。其核心在于定義數據結構、傳輸方式及處理邏輯。

協議結構示例

典型的自定義協議包含以下部分:

  • 頭部(Header):標識協議版本、數據長度、校驗碼等元信息。
  • 載荷(Payload):實際傳輸的數據內容,格式可自定義(如鍵值對、二進制流)。
  • 尾部(Footer):可選部分,用于標記數據包結束或附加校驗。

自定義協議的流程

根據需要明確信息

根據需求,明確要傳輸什么信息。也就是明確客戶端和用戶端之間要請求和響應的具體信息是什么。

約定好信息組織的格式

行文本的方式:

//一個響應用多行組成,每一行是一個商家
商家id,商家名稱,商家地址\n

通過xml格式來約定:

xml是成對的標簽構成的鍵對值結構,是一種用于存儲和傳輸數據的標記語言。可讀性好但數據冗余信息太多了,會消耗太多的帶寬。

<request><userId>1000</userId><position>75E75N</position>
</request>
<response><shop><id>1</id><name>楊國福</name><image>1.jpg</image><rank>5.0</rank><sendprice>5</sendprice></shop>
</response>

通過json網絡數據格式(主流方式)

是一種輕量級的數據交換格式,采用文本格式存儲和傳輸數據。其結構基于鍵值對和有序列表,易于人閱讀和編寫,也便于機器解析和生成。可讀性好,但相比xml來說依然還有冗余。

{"request": {"userId": 1000,"position": "75E75N"},"response": {"shop": {"id": 1,"name": "楊國福","image": "1.jpg","rank": 5.0,"sendprice": 5}}
}

protobuf

基于二進制編碼,體積小,速度快,支持數據的高效序列化和反序列化。但可讀性差,冗余最小。

syntax = "proto3";message Person {string name = 1;int32 id = 2;repeated string emails = 3; // 重復字段(類似數組)
}

其他

在應用層協議中除了自定義協議的情況下,還有一些大佬已經現成搞好的協議,如:FTP文件傳輸,SSH遠程操作主機,HTTP協議等,還接下里我們將重點取講解HTTP協議,

HTTP(超文本傳輸協議)

HTTP是一種用于傳輸超文本(如HTML)的應用層協議,是萬維網(WWW)數據通信的基礎。它基于客戶端-服務器模型,通過請求-響應機制(一對一)實現資源交換。是當下主流使用的一種應用層協議,像我們平常打開一個網站就是通過HTTP協議來傳輸數據的。

"超?本"的含義,就是傳輸的內容不僅僅是?本(?如html,css這個就是?本),還可以是?些其 他的資源,?如圖?,視頻,?頻等?進制的數據。

工作過程

當我們在瀏覽器中輸??個"?址",此時瀏覽器就會給對應的服務器發送?個HTTP請求.對?服務器 收到這個請求之后,經過計算處理,就會返回?個HTTP響應。

在實際過程中可能不止一個HTTP請求。響應的交互過程。

HTTP協議格式

需要搭配Fiddler工具(抓包工具)主要用于捕獲、分析和修改HTTP/HTTPS流量,適用于Web開發、測試及網絡安全分析。(這里就不介紹Fiddler工具的使用)。

1.?HTTP 請求格式

  • 請求行(Request Line)[?法]+[url]+[版本]
  • 請求頭(Header)請求的屬性,冒號分割的鍵值對;每組屬性之間使?\n分隔;遇到空?表?Header部分結束
  • 空行(CRLF)
  • 請求體(Body,可選)Body允許為空字符串.如果Body存在,則在Header中會有?個 Content-Length屬性來標識Body的?度

  • 2. HTTP 響應格式

  • 狀態行(Status Line)[版本號]+[狀態碼]+[狀態碼解釋]
  • 響應頭(Header)請求的屬性,冒號分割的鍵值對;每組屬性之間使?\n分隔;遇到空?表?Header部分結束
  • 空行(CRLF)
  • 響應體(Body,可選)Body允許為空字符串.如果Body存在,則在Header中會有?個 Content-Length屬性來標識Body的?度;如果服務器返回了?個html??,那么html??內容就是 在body中

總結

HTTP請求(Request)

認識URL

URL(Uniform Resource Locator,統一資源定位符)是互聯網上用于定位資源(如網頁、圖片、文件等)的地址,就像資源的 “唯一坐標”,能讓瀏覽器或其他工具準確找到并獲取它。

URL的基本格式

協議類型:[//服務器地址[:端口號]][/資源層級 UNIX 文件路徑]文件名[?查詢字符串][#片段標識符]

URL的完整格式

協議類型:[//[訪問資源需要的憑證信息@]服務器地址[:端口號]][/資源層級 UNIX 文件路徑]文件名[?查詢字符串][#片段標識符]

URL參數介紹
URL組成參數詳解

以下是基于您提供的內容,以表格形式呈現的URL參數部分詳解。表格嚴格遵循您的原始內容,未做任何修改,僅進行格式化處理。

參數部分格式示例含義與作用常見形式 / 說明
協議類型(Scheme)http://、https://指定客戶端與服務器通信的協議規則,決定資源傳輸方式和安全機制- 常見協議:http(非加密網頁傳輸)、https(加密傳輸,用于隱私場景),可以省略,省略后默認為?http://。
[訪問資源需要的憑證信息 @]user:password@可選,用于向服務器提供身份驗證的用戶名和密碼現在的?站進??份認證?般不再通過URL進?了.?般都會省略
服務器地址(Host)www.example.com、192.168.1.1標識資源所在的服務器,用于定位目標服務器- 形式:域名(需 DNS 解析為 IP)或直接 IP 地址(如114.114.114.114 是 URL 中定位服務器的核心標識
[: 端口號]:8080、:443服務器上區分不同服務的數字標識(0-65535)

- 默認端口可省略:http默認 80、https默認 443、ftp默認 21

示例:https://example.com:8080表示通過 8080 端口訪問 HTTPS 服務

[/ 資源層級 UNIX 文件路徑]/blog/2023/articles/資源在服務器上的存儲路徑,類似本地文件系統的層級結構- 以 “/” 分隔目錄層級,對應服務器上的文件夾結構<br>- 用于定位資源所在的具體目錄(如子文件夾)
文件名index.html、photo.jpg具體資源的名稱,通常包含文件擴展名- 常見類型:網頁文件(.html)、圖片(.jpg/.png)、文檔(.pdf)等-省略時,服務器可能默認返回index.html等首頁文件(由服務器配置決定)
[? 查詢字符串]?keyword=url&page=1客戶端向服務器傳遞的額外參數,用于動態篩選或查詢資源本質是?個鍵值對結構.鍵值對之 間使?&分隔.鍵和值之間使?=分隔.
[# 片段標識符]#section3用于定位資源內部的具體位置- 以 “#” 開頭,對應網頁中的錨點(如<a id="section3">)<br>- 瀏覽器會直接跳轉到該位置,不會將此部分發送給服務器
典型URL示例解析

https://admin:pass123@api.example.com:8443/v1/data?type=user#permissions

  • 協議類型https:// 表示加密傳輸
  • 憑證信息admin:pass123@ 提供基礎認證憑據(高風險,僅演示)
  • 服務器地址api.example.com 指向API服務域名
  • 端口號:8443 使用非標準HTTPS端口
  • 資源路徑/v1/data 表示API版本及數據端點
  • 查詢參數?type=user 篩選用戶類型數據
  • 片段標識#permissions 跳轉到權限相關章節
URLencode

?是一種將 URL 中不符合規范的字符轉換為特定格式的編碼方式,目的是確保 URL 能被正確傳輸和解析。因為 URL 的某些字符(如空格、特殊符號等)可能被瀏覽器或服務器誤解,或在傳輸中出現歧義,所以需要通過編碼統一格式。

保留字符不編碼
URL 中有一部分字符是 “保留字符”,具有特殊含義(如?: / ? # [ ] @ ! $ & ' ( ) * + , ; =?等),若需作為普通字符使用則需編碼,否則不編碼。

非保留字符不編碼
字母(a-zA-Z)、數字(0-9)以及部分符號(- _ . ~)屬于 “非保留字符”,無需編碼,直接保留原樣。

其他字符需編碼
除上述兩類外的字符(如空格、中文、特殊符號等),需轉換為?%XX?格式(XX?為該字符的 ASCII 碼十六進制表示)。

示例

在瀏覽器中搜索小黑++

https://www.sogou.com/web?query=%E5%B0%8F%E9%BB%91%2B%2B&_asf=www.sogou.com&_ast=&w=01019900&p=40040100&ie=utf8&from=index-nologin&s_from=index&sourceid=9_01_03&sessiontime=1755002253615 HTTP/1.1

我們會發現這個值%E5%B0%8F%E9%BB%91%2B%2B&通過 urldecode我們會發先這是小黑++的意思。

認識"?法"(method)

HTTP 協議定義了多種請求方法,每種方法對應不同的操作類型,用于客戶端向服務器請求資源或對資源進行操作。

常用的方法:GET,POT,PUT,DELETE

GET 方法

用于從服務器獲取資源。這是最常用的方法,當在瀏覽器中輸入網址訪問網頁,或通過鏈接跳轉頁面時,瀏覽器通常使用 GET 方法向服務器請求資源。

GET 請求的特點:

  • 首行里面的第一個部分就是 GET
  • URL 里面的 query string 可以為空,也可以不為空
  • header 有若干個鍵值對結構
  • body 一般是空的

GET 請求示例:?搜狗首頁請求

POST 方法

用于向服務器提交數據,通常用于創建新資源。比如用戶注冊、登錄時提交表單數據,或者上傳文件等操作,常使用 POST 方法。

POST 請求的特點:

  • 首行第一個部分就是 POST
  • URL 里面的 query string 一般是空的
  • header 里面有若干個鍵值對
  • body 一般不為空(body 的具體數據格式,由 header 中的 Content-Type 來描述;body 的具體數據長度,由 header 中的 Content-Length 來描述

這里的POST請求就不示例了可以自己在可以登錄得網站上自己操作。

GET 和 POST 的區別
  • 語義不同:GET?般?于獲取數據,POST?般?于提交數據.
  • GET的body?般為空,需要傳遞的數據通過querystring傳遞,POST的querystring?般為空,需 要傳遞的數據通過body傳遞
  • GET請求?般是冪等的,POST請求?般是不冪等的.(如果多次請求得到的結果和一次請求得到的結果?樣,就視為請求是 冪等的).
  • GET可以被緩存,POST不能被緩存.(這?點也是承接冪等性)

認識請求"報頭"(header)

header 的整體的格式也是"鍵值對"結構. 每個鍵值對占??.鍵和值之間使?分號分割

Host

必不可少的報頭,指定請求的目標服務器的域名和端口號(若端口號為默認值 80 或 443,端口號可省略)。例如,Host: www.sogou,com,服務器根據這個報頭確定客戶端請求的具體網站,因為一臺服務器可能托管多個網站。

Content-Length

指明請求體的長度(字節數),服務器根據此長度來準確讀取請求體中的數據。例如,Content - Length: 100?表示請求體的大小為 100 字節。

Content-Type

當請求包含數據(如 POST 請求提交表單數據)時,此報頭指定請求體中數據的類型。

常?選項:

application/x-www-form-urlencoded: form 表單提交的數據格式.此時body的格式形如:

title=test&content=hello

multipart/form-data: form 表單提交的數據格式(在form標簽中加上 enctyped="multipart/form-data" .通常?于提交圖?/?件.body格式形如:

 Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3Trw------WebKitFormBoundaryrGKCBY7qhFd3TrwA 
Content-Disposition: form-data; name="text" 
title ------WebKitFormBoundaryrGKCBY7qhFd3TrwA 
Content-Disposition: form-data; name="file"; filename="chrome.png" 
Content-Type: image/png 
PNG ... content of chrome.png ... ------WebKitFormBoundaryrGKCBY7qhFd3TrwA-- 

application/json: 數據為json格式.body格式形如:

{"username":"123456789","password":"xxxx","code":"jw7l","uuid":"d110a05ccde64b16

正?中的內容格式和header中的Content-Type密切相關

User-Agent(簡稱 UA)

包含發出請求的客戶端應用程序的相關信息,如瀏覽器類型、版本、操作系統等。

Referer

表?這個??是從哪個??跳轉過來的。

注意:?如果直接在瀏覽器中輸入 URL 或直接通過收藏夾訪問頁面時,是沒有 Referer 的

Cookie

Cookie 中存儲了?個字符串,這個數據可能是客?端(??)??通過JS寫?的,也可能來?于服務器 (服務器在HTTP響應的header中通過Set-Cookie字段給瀏覽器返回數據)

以登錄為例

登錄成功后Cookie會保存一個set-Cookie數據在本地,給用戶一個令牌,再接下來訪問頁面的或下次訪問頁面過程中都會帶上這個令牌,瀏覽器會在 HTTP 請求頭中自動包含這個 Cookie,發送給服務器,表示此時是一個登錄的狀態,最終再返回服務器,同時Cookie令牌也會過期,比如說長時間不操作一個網站,此時令牌過期就會回到登錄狀態,提高安全性。而Cookie中的這些相關數據都是由程序員決定的。

HTTP響應詳解

認識"狀態碼"(statuscode)

狀態碼表?訪問?個??的結果.(是訪問成功,還是失敗,還是其他的?些情況...),以下將介紹常用的狀態碼。

200OK

這是?個最常?的狀態碼,表?訪問成功

404NotFound

沒有找到資源,列入在瀏覽器中輸?www.sogou.com/index2.html就會看到這樣的響應

403Forbidden

表?訪問被拒絕.有的??通常需要??具有?定的權限才能訪問(登陸后才能訪問).如果??沒有登陸 直接訪問,就容易?到403

405 Method Not Allowed

表示訪問的服務器不能支持請求中的方法或者不能使用該請求中的方法

500Internal Server Error

服務器出現內部錯誤.?般是服務器的代碼執?過程中遇到了?些特殊情況(服務器異常崩潰)會產?這 個狀態碼

504GatewayTimeout

當服務器負載?較?的時候,服務器處理單條請求的時候消耗的時間就會很?,就可能會導致出現超時 的情況

302Movetemporarily

表示臨時重定向

在登陸??中經常會?到302.?于實現登陸成功后?動跳轉到主?.

301 Moved Permanently

表示永久重定向,當瀏覽器收到這種響應時,后續的請求都會被自動改成新的地址

認識響應"報頭"(header)

響應報頭的基本格式和請求報頭的格式基本?致

響應中的Content-Type常?取值有以下?種:?

  • t ext/html :body數據格式是HTML?
  • te xt/css :body數據格式是CSS?
  • a pplication/javascript :body數據格式是JavaScript?
  • a pplication/json :body數據格式是JSON

正?中的內容格式和header中的Content-Type密切相關就不詳情介紹了可自己使用Fiddler工具去觀察。

通過 form 表單構造 HTTP 請求

form 是 HTML 中的一個表單標簽,可以用于給服務器發送 GET 或者 POST 請求。

form 的重要參數:

  • action:用來構造 HTTP 請求的 URL 是什么
  • method:用來構造 HTTP 請求的方法(form 只支持 GET 或 POST 方法)

input 的重要參數在 form 標簽中的含義:

  • type:表示輸入框的類型(text 表示文本、password 表示密碼、submit 表示提交按鈕)
  • name:表示構造出的 HTTP 請求的 query string 的 key
  • value:表示 input 標簽的值(對于 type 為 submit 類型來說,value 就對應了按鈕上顯示的文本)
  • input 標簽的內容:表示 query string 的 value

通過 ajax 構造 HTTP 請求

還可以通過 ajax 的?式來構造HTTP請求.并且功能更強?

HTTPS

是在HTTP協議的基礎上引?了?個加密層(SSL). HTTP協議內容都是按照?本的?式明?傳輸的.這就導致在傳輸過程中出現?些被篡改的情況,比如說我們常常在瀏覽器下載軟件的時候明明下的不是這個軟件可是下載完就變了,這就是篡改了下載的地址信息。

因此在互聯網上明文傳輸是一件非常可怕的事情。因此要在HTTP基礎上進行加密。

加密"是什么

加密就是把明?(要傳輸的信息)進??系列變換,?成密?. 解密就是把密?再進??系列變換,還原成明?。在這個加密和解密的過程中,往往需要?個或者多個中間的數據,輔助進?這個過程,這樣的數據稱為密鑰。

加密的?式

對稱加密

對稱加密其實就是通過同?個"密鑰",把明?加密成密?,并且也能把密?解密成明?。使用單一密鑰,計算量相對較小,適合對大量數據進行加密處理,能高效地完成加密和解密操作。但是每個服務端需要去對于多個客服端,都是用一個密鑰的話,就會很容易竊取到該密鑰并進行篡改。因此我們針對不同的客戶端要采用不同的密鑰。

非對稱加密

非對稱加密使用一對密鑰,即公鑰和私鑰。公鑰可以公開,任何人都可以使用公鑰對數據進行加密;而私鑰則由用戶自己秘密保存,只有擁有私鑰的人才能對使用相應公鑰加密的數據進行解密。當發送方要向接收方傳輸數據時,發送方使用接收方的公鑰對明文進行加密,然后將密文發送給接收方。接收方收到密文后,使用自己的私鑰進行解密,恢復出原始明文。相比對稱加密,非對稱加密的計算量較大,加密和解密過程需要更多的時間和計算資源。因此,它不太適合對大量數據進行直接加密。

但是這里依然存在問題,我們如何獲取公鑰呢獲取公鑰如何判斷這個公鑰是不是黑客偽造的呢。

中間?攻擊

中間人攻擊是一種網絡攻擊手段,攻擊者在通信雙方不知情的情況下,攔截、篡改或偽造通信數據。攻擊者處于通信雙方之間,就像一個 “中間人”,分別與發送方和接收方建立看似正常的連接,使得雙方誤以為是在直接通信,但實際上所有的數據都經過了攻擊者的處理。

具體流程如下:

  • 服務器具有?對稱加密算法的公鑰S,私鑰S'
  • 中間?具有?對稱加密算法的公鑰M,私鑰M'
  • 客?端向服務器發起請求,服務器明?傳送公鑰S給客?端
  • 中間?劫持數據報?,提取公鑰S并保存好,然后將被劫持報?中的公鑰S替換成為??的公鑰M, 并將偽造報?發給客?端
  • 客?端收到報?,提取公鑰M(??當然不知道公鑰被更換過了),??形成對稱秘鑰X,?公鑰M加 密X,形成報?發送給服務器
  • 中間?劫持后,直接???的私鑰M'進?解密,得到通信秘鑰X,再?曾經保存的服務端公鑰S加 密后,將報?推送給服務器
  • 服務器拿到報?,???的私鑰S'解密,得到通信秘鑰X
  • 雙?開始采?X進?對稱加密,進?通信。但是?切都在中間?的掌握中,劫持數據,進?竊聽甚 ?修改,都是可以的

證書

服務端在使?HTTPS前,需要向CA機構申領?份數字證書,數字證書?含有證書申請者信息、公鑰信 息等。服務器把證書傳輸給瀏覽器,瀏覽器從證書?獲取公鑰就?了,證書就如?份證,證明服務端 公鑰的權威性

工作原理

身份驗證:以網站與用戶通信為例,當用戶訪問網站時,網站將數字證書發送給用戶瀏覽器。瀏覽器內置眾多受信任 CA 的根證書,通過這些根證書驗證網站證書的 CA 簽名。若簽名驗證成功,且證書其他信息(如有效期、主體名稱與訪問域名匹配等)無誤,瀏覽器確認網站身份合法,建立安全連接。

數據加密:在建立安全連接過程中,基于證書中的公鑰實現密鑰交換。例如在 SSL/TLS 握手階段,客戶端生成隨機的預主密鑰,用網站證書中的公鑰加密后發送給網站。網站用私鑰解密獲取預主密鑰,雙方據此生成會話密鑰,用于后續通信數據的加密和解密,保證數據傳輸的保密性。

完整性保護:數字證書結合哈希算法和數字簽名保證數據完整性。發送方對數據計算哈希值,用私鑰對哈希值簽名。接收方收到數據和簽名后,重新計算數據的哈希值,并用發送方公鑰驗證簽名。若驗證通過,說明數據在傳輸過程中未被篡改。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93032.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93032.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93032.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ROS配置debug指南

一. 安裝插件 下面的這一個插件過期了需要用下面的這一個插件來替換:二. 設置CMakeLists.txt的編譯模式 set(CMAKE_BUILD_TYPE "Debug") set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAG…

微軟正式將GPT-5接入Microsoft Copilot Studio(國際版)

微軟宣布正式在Microsoft Copilot Studio&#xff08;國際版&#xff09;中集成GPT-5&#xff0c;推動智能體構建能力實現突破性升級。此次更新不僅為企業用戶帶來更高效的響應速度、更精準的語境理解能力&#xff0c;還通過增強的邏輯推理功能&#xff0c;顯著提升了AI交互的深…

微算法科技(NASDAQ:MLGO)通過蟻群算法求解資源分配的全局最優解,實現低能耗的區塊鏈資源分配

隨著區塊鏈網絡規模的不斷擴大和業務需求的日益復雜&#xff0c;資源分配問題逐漸成為制約其發展的關鍵因素之一。傳統的區塊鏈資源分配方法往往存在效率低下、能耗過高、難以達到全局最優解等問題。高能耗不僅增加了運營成本&#xff0c;還對環境造成了較大的壓力。因此&#…

深入淺出JVM:Java虛擬機的探秘之旅

深入淺出JVM&#xff1a;Java虛擬機的探秘之旅一、JVM 初相識&#xff1a;揭開神秘面紗 在 Java 的世界里&#xff0c;JVM&#xff08;Java Virtual Machine&#xff0c;Java 虛擬機&#xff09;就像是一個神秘的幕后大 boss&#xff0c;掌控著 Java 程序運行的方方面面。你可以…

Nginx學習筆記(八)—— Nginx緩存集成

&#x1f5c4;&#x1f5c4; Nginx緩存集成 &#x1f4cc;&#x1f4cc; 一、緩存核心價值 #mermaid-svg-CNji1KUDOsF8MwoY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-CNji1KUDOsF8MwoY .error-icon{fill:#5522…

httpx 設置速率控制 limit 時需要注意 timeout 包含 pool 中等待時間

假設通過 httpx.Client 設置 limit 速率控制后&#xff0c;同時發起多個請求訪問 youtube。并且由于科學原因一直連接不上 假設一共 4 個連接&#xff0c;max_connection2&#xff0c;timeout5s。 默認會發生的情況不是前兩個連接 tcp 握手 timeout&#xff0c;后兩個連接再發起…

【網絡】TCP/UDP總結復盤

1.UDP的格式2.TCP的格式3.TCP是來解決什么問題的&#xff1f;答&#xff1a;解決IP層的不可靠傳輸問題&#xff0c;可能數據包丟失、損壞、重復等為上層應用層提高可靠有序的數據傳輸服務通過校驗和、確認應答機制、序列號來解決不可靠傳輸和無序性問題通過流量控制--->>…

Nginx 配置中,root 和 alias 區別

在 Nginx 配置中&#xff0c;root 和 alias 都用于定義文件路徑&#xff0c;但它們的行為有重要區別&#xff0c;特別是 路徑拼接方式 和 末尾斜杠 (/) 的影響。1. root 和 alias 的區別 (1) root 指令 作用&#xff1a;root 會將 location 的 URI 拼接到 root 路徑后面&#x…

基于vue.js的無縫滾動

方法一&#xff1a;基于requestAnimationFrame demo <template><h-page-container class"hoem-page"><h1>無縫滾動</h1><h2>垂直方向</h2><div class"container1"><AutoScroll :data"list" :item-…

【Linux學習|黑馬筆記|Day4】IP地址、主機名、網絡請求、下載、端口、進程管理、主機狀態監控、環境變量、文件的上傳和下載、壓縮和解壓

【DAY4】 今天看的是Linux第四章剩余部分 至此Linux暫時學到這&#xff0c;第五章還包含很多軟件的安裝&#xff0c;但是等我要用的時候再裝吧 我現在只裝了MySQL8.0&#xff0c;具體教程請看筆記安裝教程 內容包含更換鏡像源和安裝配置步驟 文章目錄【DAY4】6&#xff09;IP地…

【合新通信】射頻光纖傳輸模塊詳解

射頻光纖傳輸模塊是一種將射頻(RF)信號通過光纖進行傳輸的關鍵設備&#xff0c;廣泛應用于通信、軍事、廣播電視等領域。以下是關于射頻光纖傳輸模塊的全面介紹&#xff1a;基本原理與組成射頻光纖傳輸模塊主要由以下幾部分組成&#xff1a;電光轉換單元&#xff1a;將輸入的射…

【信息收集】從GET到POST:破解登錄表單的全流程

目標&#xff1a;將瀏覽器數據代理至BP的proxy模塊。將個人PHP的留言板項目首頁登錄數據包代理至BP&#xff0c;并轉發至intrder模塊&#xff0c;進行暴力破解。免責聲明&#xff1a;本文章內容僅用于個人網絡安全知識學習與研究&#xff0c;嚴禁用于任何未經授權的攻擊或非法活…

【辦公自動化】如何使用Python操作PPT和自動化生成PPT?

在現代商業和教育環境中&#xff0c;PowerPoint演示文稿是信息傳遞的重要工具。通過Python自動化PPT創建和編輯過程&#xff0c;可以大幅提高工作效率&#xff0c;特別是在需要批量生成或更新演示文稿的場景下。本文將介紹如何使用python-pptx庫實現PPT自動化&#xff0c;并提供…

18 ABP Framework 模塊管理

ABP Framework 模塊管理 概述 該頁面詳細介紹了在 ABP Framework 解決方案中使用 ABP CLI 及相關工具添加、更新和管理模塊的方法。模塊管理是 ABP 模塊化架構的核心&#xff0c;支持可重用業務和基礎設施功能的集成。模塊通常以 NuGet 和/或 NPM 包的形式分發&#xff0c;有時…

外觀模式C++

外觀模式&#xff08;Facade Pattern&#xff09;是一種結構型設計模式&#xff0c;它為復雜系統提供一個簡化的接口&#xff0c;隱藏系統內部的復雜性&#xff0c;使客戶端能夠更輕松地使用系統。這種模式通過創建一個外觀類&#xff0c;封裝系統內部的交互邏輯&#xff0c;客…

Go 微服務限流與熔斷最佳實踐:滑動窗口、令牌桶與自適應閾值

&#x1f31f; Hello&#xff0c;我是蔣星熠Jaxonic&#xff01; &#x1f308; 在浩瀚無垠的技術宇宙中&#xff0c;我是一名執著的星際旅人&#xff0c;用代碼繪制探索的軌跡。 &#x1f680; 每一個算法都是我點燃的推進器&#xff0c;每一行代碼都是我航行的星圖。 &#x…

Java面試寶典:JVM性能優化

一、運行時優化 Java虛擬機(JVM)的運行時優化是提升Java應用性能的核心環節。JIT(Just-In-Time)編譯器在程序運行過程中,通過分析熱點代碼的執行模式,動態地進行一系列高級優化。這些優化技術對開發者透明,但了解其原理能幫助我們編寫出更易于優化的代碼,從而顯著提升…

Day55--圖論--107. 尋找存在的路徑(卡碼網)

Day55–圖論–107. 尋找存在的路徑&#xff08;卡碼網&#xff09; 今天學習并查集。先過一遍并查集理論基礎。再做下面這一道模板題&#xff0c;就可以結束了。體量不多&#xff0c;但是理解并查集&#xff0c;并使用好&#xff0c;不容易。 后續再找相關的題目來做&#xff0…

C++中的鏈式操作原理與應用(三):專注于異步操作延的C++開源庫 continuable

目錄 1.簡介 2.安裝與集成 3.快速入門 4.完整示例 5.優勢與適用場景 1.簡介 continuable 是一個專注于 異步操作延續&#xff08;continuation&#xff09; 的現代 C 開源庫&#xff0c;旨在簡化異步編程流程&#xff0c;解決 “回調地獄” 問題&#xff0c;提供直觀、靈活…

STM32--寄存器與標準庫函數--通用定時器--輸出比較(PWM生成)

目錄 前言 通用定時器類型 向上計數、向下計數、中心對齊 輸入捕獲與輸出比較概念 輸出比較典型例子&#xff1a;驅動舵機旋轉 通用定時器的輸出比較庫函數 代碼 通用定時器的輸出比較寄存器操作 代碼 這里提供數據手冊的寄存器 后言 前言 使用平臺:STM32F407ZET6 使…