什麼是http協議 一

2022-06-30 16:42:14 字數 2487 閱讀 3454

http協議是大家在網際網路中最為熟悉的協議,只要上網大家都會遇到,但是,很多人被問道什麼是http協議,http協議的內容是什麼就懵了。這裡,我們隨便聊聊http協議。

首先,我們說說協議。我一直覺得「協議」這詞不是很好理解,協商以後達成的決議,其實,就是規定,輪不到使用者協商的規定,就像本朝的法律,必須遵守。所以,http協議就是http的規定。

瀏覽器負責發起請求和最後的響應請求,伺服器接收請求後,處理請求。我們一步一步來看這個過程,http是如何設定步驟,設定規範的。

2、找到伺服器的同時,會有http的請求傳送過來,告訴伺服器我求你做什麼?http協議規定了傳送請求的格式,這個格式有三部分組成請求行、請求頭、請求體

請求行包括請求的方式(get、post或其他)、要求響應的檔案、http版本。

請求頭包括本機資訊、瀏覽器資訊等等,當然,也包括url中?後面的引數。如圖:

請求體包括post傳遞資料的相關資訊,get方式傳值時,請求體為空。

3、請求資訊傳送至伺服器以後,伺服器會獲取傳遞過來的相關資訊進行後端程式的處理。一般通過request.querystring獲取url傳遞過來的指,通過request.form獲取post傳遞過來的值,當然,也是可以獲取到所有的其他請求過來的資訊,如瀏覽器資訊、cookie資訊、作業系統資訊等。獲取相關的資料以後,伺服器就會根據程式進行處理。

4、處理完成以後,伺服器會做出響應,向瀏覽器輸出相關資訊。http對響應的格式也做出了規定,響應的資訊主要包括,響應碼、響應頭、響應體

響應碼用來標識伺服器響應的結果,如我們常看到的200、404等。大致的分類如下:1開頭的表示訊息,2開頭表示成功,3開頭表示重定向,4開頭表示失敗,5開頭表示伺服器異常。

響應頭記錄伺服器相關資訊如伺服器是否啟用壓縮、伺服器為iis或ngnix、程式所用服務端語言等等。當然,快取也是在這裡設定的,通過修改響應頭可以修改html在本地快取的情況,如設定瀏覽器快取過期的時間。

完成以上四部操作以後,瀏覽器就斷開了與伺服器的資料連線,不能在進行資料傳輸,如果需要再次進行資料傳輸,那麼一切就要從輸入url開始。

如此,便是乙個完整的網頁流程,http從中的作用就是對整個流程進行規定,包括執行步驟,每一步的資料格式。只有了解http協議以及網頁是如何產生的以後,才能對網頁進行更好的控制,例如控制瀏覽器快取、通過非瀏覽器傳送http請求、get和post傳值的選擇,甚至是建立長連線,這些都是以http協議為基礎。

底層是tcp/ip

http是什麼?http是基於tcp/ip的關於資料如何在全球資訊網中如何通訊的協議。

http的底層是tcp/ip。所以get和post的底層也是tcp/ip,也就是說,get/post都是tcp鏈結。get和post能做的事情是一樣一樣的。你要給get加上request body,給post帶上url引數,技術上是完全行的通的。

在我大全球資訊網世界中,tcp就像汽車,我們用tcp來運輸資料,它很可靠,從來不會發生丟件少件的現象。但是如果路上跑的全是看起來一模一樣的汽車,那這個世界看起來是一團混亂,送急件的汽車可能被前面滿載貨物的汽車攔堵在路上,整個交通系統一定會癱瘓。為了避免這種情況發生,交通規則http誕生了。http給汽車運輸設定了好幾個服務類別,有get, post, put, delete等等,http規定,當執行get請求的時候,要給汽車貼上get的標籤(設定method為get),而且要求把傳送的資料放在車頂上(url中)以方便記錄。如果是post請求,就要在車上貼上post的標籤,並把貨物放在車廂裡。當然,你也可以在get的時候往車廂內偷偷藏點貨物,但是這是很不光彩;也可以在post的時候在車頂上也放一些資料,讓人覺得傻乎乎的。http只是個行為準則,而tcp才是get和post怎麼實現的基本。

在我大全球資訊網世界中,還有另乙個重要的角色:運輸公司。不同的瀏覽器(發起http請求)和伺服器(接受http請求)就是不同的運輸公司。 雖然理論上,你可以在車頂上無限的堆貨物(url中無限加引數)。但是運輸公司可不傻,裝貨和卸貨也是有很大成本的,他們會限制單次運輸量來控制風險,資料量太大對瀏覽器和伺服器都是很大負擔。業界不成文的規定是,(大多數)瀏覽器通常都會限制url長度在2k個位元組,而(大多數)伺服器最多處理64k大小的url。超過的部分,恕不處理。如果你用get服務,在request body偷偷藏了資料,不同伺服器的處理方式也是不同的,有些伺服器會幫你卸貨,讀出資料,有些伺服器直接忽略,所以,雖然get可以帶request body,也不能保證一定能被接收到哦。

什麼是HTTP協議?什麼是HTTPS協議?

什麼是http協議?什麼是https協議?1.http和https的區別 區別 2.對稱加密和非對稱加密 對稱加密 非對稱加密 3.建立連線 4.三次握手和四次分手 5.一次完整的http事務流程 6.dns網域名稱解析 解析過程 7.tcp協議如何來保證傳輸的可靠性 對於可靠性,tcp通過以下方式...

什麼是http協議

http協議是超文字傳輸協議的縮寫,是用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。超文字是用超連結的方法,將各種不同空間的文字資訊組織在一起的網狀文字 http是乙個基於tcp ip通訊協議來傳遞資料 html檔案,檔案,查詢結果等 http是乙個屬於應用層的物件導向的協議,工作於客戶端...

什麼是http協議

今天面試的時候,問我的問題,當時沒回答出來,包括狀態碼。這邊看了一下,寫一下。http協議,又名超文字傳輸協議,是全球資訊網使用的底層,主要用於web客戶端和服務端的通訊作用。狀態碼?2xx 表示請求成功 200表示資料請求完成,201表示資料請求完成但是並沒有返回資料。3xx 表示重定向 301表...