HTTP請求的過程與原理是什麼,講述一下http請求的原理以及怎麼實現

時間 2021-09-05 01:58:42

1樓:

其工作過程分為四步:

1.客戶機與伺服器建立連線:客戶單擊某個超級連結,http的工作開始,接下來進行tcp連線的三次握手過程。

2.建立連線後,客戶幾傳送一個請求給伺服器,請求方式的格式為:統一資源識別符號(url)、協議版本號、mime資訊(包括請求修飾符、客戶機資訊和可能的內容)。

3.伺服器接到請求後,給予相應的響應資訊,其格式為:一個狀態行(包括資訊的協議版本號)、一個成功或錯誤的**、後面的是mime資訊(包括伺服器資訊、實體資訊、可能的內容)。

4.客戶端接收到伺服器所返回的資訊,通過瀏覽器顯示在使用者的顯示屏上,然後客戶機與伺服器斷開連線。客戶端收到伺服器資訊後,向伺服器傳送一個確認包,此包傳送完畢,表示完成三次握手。

2樓:帝

以下內容**於我在傳智播客的學習:http是一種無狀態的,指的是協議對於事務處理沒有記憶能力,伺服器不知道客戶端是什麼狀態。也就是說,開啟一個伺服器上的網頁和你之前開啟這個伺服器上的網頁之間沒有任何聯絡。

http遵循請求/應答模型

(1)建立tcp連線

(2)web瀏覽器向web伺服器傳送請求命令(3)web瀏覽器傳送請求頭資訊

(4)web伺服器應答

(5)web伺服器傳送應答頭資訊

(6)web伺服器向瀏覽器傳送資料

(7)web伺服器關閉tcp連線

講述一下http請求的原理以及怎麼實現

3樓:匿名使用者

超文字傳輸協議http協議被用於在web瀏覽器和**伺服器之間傳遞資訊,http協議以明文方式傳送內容,不提供任何方式的資料加密,

http://localhost:8080開啟tomcat主頁的原理是什麼

socket,tcp,http三者之間的區別和原理

4樓:匿名使用者

http、tcp/ip協議與socket之間的區別

網路由下往上分為:

物理層--

資料鏈路層--

網路層--                       ip協議

傳輸層--                       tcp協議

表示層和應用層--           http協議

(1)tcp/ip連線

手機能夠使用聯網功能是因為手機底層實現了tcp/ip協議,可以使手機終端通過無線網路建立tcp連線。tcp協議可以對上層網路提供介面,使上層網路資料的傳輸建立在“無差別”的網路之上。

建立起一個tcp連線需要經過“三次握手”

第一次握手:客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送一個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料。理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一

方主動關閉連線之前,tcp

連線都將被一直保持下去。斷開連線時伺服器和客戶端均可以主動發起斷開tcp連線的請求,斷開過程需要經過“四次握手”(過程就不細寫了,就是伺服器和客

戶端互動,最終確定斷開).

(2)http連線

http協議即超文字傳送協議(hypertext transfer protocol ),是web聯網的基礎,也是手機聯網常用的協議之一,http協議是建立在tcp協議之上的一種應用。

http連線最顯著的特點是客戶端傳送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連線。從建立連線到關閉連線的過程稱為“一次連線”。

1)在http 1.0中,客戶端的每次請求都要求建立一次單獨的連線,在處理完本次請求後,就自動釋放連線。

2)在http 1.1中則可以在一次連線中處理多個請求,並且多個請求可以重疊進行,不需要等待一個請求結束後再傳送下一個請求。

(3)socket原理

3-1套接字(socket)概念

套接字(socket)是通訊的基石,是支援tcp/ip協議的網路通訊的基本操作單元。它是網路通訊過程中端點的抽象表示,包含進行網路通訊必須的五種資訊:連線使用的協議,本地主機的ip地址,本地程序的協議埠,遠地主機的ip地址,遠地程序的協議埠。

應用層通過傳輸層進行資料通訊時,tcp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同一個

tcp協議埠傳輸資料。為了區別不同的應用程式程序和連線,許多計算機作業系統為應用程式與tcp/ip協議互動提供了套接字(socket)介面。應

用層可以和傳輸層通過socket介面,區分來自不同應用程式程序或網路連線的通訊,實現資料傳輸的併發服務。

3-2建立socket連線

建立socket連線至少需要一對套接字,其中一個執行於客戶端,稱為clientsocket ,另一個執行於伺服器端,稱為serversocket 。

套接字之間的連線過程分為三個步驟:伺服器監聽,客戶端請求,連線確認。

伺服器監聽:伺服器端套接字並不定位具體的客戶端套接字,而是處於等待連線的狀態,實時監控網路狀態,等待客戶端的連線請求。

客戶端請求:指客戶端的套接字提出連線請求,要連線的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連線的伺服器的套接字,指出伺服器端套接字的地址和埠號,然後就向伺服器端套接字提出連線請求。

連線確認:當伺服器端套接字監聽到或者說接收到客戶端套接字的連線請求時,就響應客戶端套接字的請求,建立一個新的執行緒,把伺服器端套接字的描

述發給客戶端,一旦客戶端確認了此描述,雙方就正式建立連線。而伺服器端套接字繼續處於監聽狀態,繼續接收其他客戶端套接字的連線請求。

(4)socket連線與tcp/ip連線

建立socket連線時,可以指定使用的傳輸層協議,socket可以支援不同的傳輸層協議(tcp或udp),當使用tcp協議進行連線時,該socket連線就是一個tcp連線。

socket則是對tcp/ip協議的封裝和應用(程式設計師層面上)。也可以說,tpc/ip協議是傳輸層協議,主要解決資料 如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。關於tcp/ip和http協議的關係,網路有一段比較容易理解的介紹:

“我們在傳輸資料時,可以只使用(傳輸層)tcp/ip協議,但是那樣的話,如

果沒有應用層,便無法識別資料內容,如果想要使傳輸的資料有意義,則必須使用到應用層協議,應用層協議有很多,比如http、ftp、telnet等,也

可以自己定義應用層協議。web使用http協議作應用層協議,以封裝http文字資訊,然後使用tcp/ip做傳輸層協議將它發到網路上。”

我們平時說的最多的socket是什麼呢,實際上socket是對tcp/ip協議的封裝,socket本身並不是協議,而是一個呼叫介面

(api),通過socket,我們才能使用tcp/ip協議。 實際上,socket跟tcp/ip協議沒有必然的聯絡。socket程式設計接

口在設計的時候,就希望也能適應其他的網路協議。所以說,socket的出現

只是使得程式設計師更方便地使用tcp/ip協議棧而已,是對tcp/ip協議的抽象,從而形成了我們知道的一些最基本的函式介面,比如create、

listen、connect、accept、send、read和write等等。網路有一段關於socket和tcp/ip協議關係的說法比較容易理解:

“tcp/ip只是一個協議棧,就像作業系統的執行機制一樣,必須要具體實現,同時還要提供對外的操作介面。這個就像作業系統會提供標準的程式設計介面,比如win32程式設計介面一樣,tcp/ip也要提供可供程式設計師做網路開發所用的介面,這就是socket程式設計介面。”

5樓:匿名使用者

1、baitcp連線

手機能夠使用聯網功能是因為

du手機底層實現了zhitcp/ip協議,dao可以使手機終端通過無線網路回

建立tcp連線。tcp協議可

答以對上層網路提供介面,使上層網路資料的傳輸建立在“無差別”的網路之上。

2、http連線

http協議即超文字傳送協議(hypertext transfer protocol ),是web聯網的基礎,也是手機聯網常用的協議之一,http協議是建立在tcp協議之上的一種應用。

3、socket原理

3.1套接字(socket)概念

套接字(socket)是通訊的基石,是支援tcp/ip協議的網路通訊的基本操作單元。它是網路通訊過程中端點的抽象表示,包含進行網路通訊必須的五種資訊:連線使用的協議,本地主機的ip地址,本地程序的協議埠,遠地主機的ip地址,遠地程序的協議埠。

通過post方式進行提交資料的原理是什麼

6樓:匿名使用者

http/1.1 協議規定的 http 請求方法有 options、get、head、post、put、delete、trace、connect 這幾種。其中 post 一般用來向服務端提交資料,本文主要討論 post 提交資料的幾種方式。

我們知道,http 協議是以 ascii 碼傳輸,建立在 tcp/ip 協議之上的應用層規範。規範把 http 請求分為三個部分:狀態行、請求頭、訊息主體。類似於下面這樣:

協議規定 post 提交的資料必須放在訊息主體(entity-body)中,但協議並沒有規定資料必須使用什麼編碼方式。實際上,開發者完全可以自己決定訊息主體的格式,只要最後傳送的 http 請求滿足上面的格式就可以。

但是,資料傳送出去,還要服務端解析成功才有意義。一般服務端語言如 php、python 等,以及它們的 ramework,都內建了自動解析常見資料格式的功能。服務端通常是根據請求頭(headers)中的 content-type

欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。所以說到 post 提交資料方案,包含了 content-type

和訊息主體編碼方式兩部分。下面就正式開始介紹它們。

HTTP的意思 http是什麼意思

http是什麼意思 http,中文意思是指超文字傳輸協議,指的是在網路,網路之間或者是計算機使用者與計算機使用者之間進行網路傳輸和檔案傳輸的一種超文字傳輸協議,對計算機安全和網路安全起著至關重要的作用。http也是應用層協議,是為了實現某一類具體應用的協議,並由某一執行在使用者空間的應用程式來實現其...

ssl會話建立的過程(原理)是什麼

哈哈呵呵你好 ssl會話建立過程主要就是加密和解密的過程。主要是利用了非對稱加密來保證密碼的安全,利用簽名來保證證書和資訊沒有被修改。首先是客戶端和伺服器端加密技術的溝通,統一後面通訊適用的加密技術。第二步是伺服器將自己的身份以證書的方式傳送給客戶端。同時非對稱加密的公鑰則是附帶在證書的資訊中。證書...

資訊的傳播過程是什麼,資訊傳播原理

一,傳播過程,傳播學名詞,指的是具備傳播活動得以成立的基本要素的過程。研究它所用的最常見的視角分別是歷時性考察和共時性考察。二,乙個基本的傳播過程,應包括以下要素 1,傳播者 傳播者,又稱信源,指的是傳播行為的引發者,即以發出訊息的方式主動作用於他人的人。在社會傳播中,傳播者既可以是個人,也可以是組...