HTTP 協議學習

2021-09-11 05:11:37 字數 1835 閱讀 1979

摘自:

http簡介

http,hyper text transfer protocol(超文字傳輸協議),是用於從全球資訊網(www:world wide web )伺服器傳輸超文字到本地瀏覽器的傳送協議。

http是乙個基於tcp/ip通訊協議來傳遞資料

過程:http協議工作於客戶端-服務端架構為上。瀏覽器作為http客戶端通過url向http服務端即web伺服器傳送所有請求。web伺服器根據接收到的請求後,向客戶端傳送響應資訊。

url

(uniform resource identifiers, uri)

url是一種特殊型別的uri,包含了用於查詢某個資源的足夠的資訊

uri和url的區別

uri,uniform resource identifier,統一資源識別符號,用來唯一的標識乙個資源。

url,uniform resource locator,統一資源定位器,它是一種具體的uri,即url可以用來標識乙個資源,而且還指明了如何locate這個資源。

http之請求訊息request

請求行(request line)、請求頭部(header)、空行和請求資料四個部分組成。 http/1.1 200 ok

date: fri, 22 may 2009 06:07:21 gmt

content-type: text/html; charset=utf-8

http之響應訊息response

狀態行、訊息報頭、空行和響應正文。

狀態行,由http協議版本號(http/1.1),狀態碼(200),狀態訊息 (ok)

訊息報頭,用來說明客戶端要使用的一些附加資訊

空行,訊息報頭後面的空行是必須的

響應正文,伺服器返回給客戶端的文字資訊。

http之狀態碼

1xx:指示資訊--表示請求已接收,繼續處理

2xx:成功--表示請求已被成功接收、理解、接受

3xx:重定向--要完成請求必須進行更進一步的操作

4xx:客戶端錯誤--請求有語法錯誤或請求無法實現

5xx:伺服器端錯誤--伺服器未能實現合法的請求

http請求方法

http1.1新增了五種請求方法:options, put, delete, trace 和 connect 方法。

get請求指定的頁面資訊,並返回實體主體。

head     類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭

post向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。

put     從客戶端向伺服器傳送的資料取代指定的文件的內容。

http工作原理

瀏覽器將該 html 文字並顯示內容;

釋放 tcp連線;

伺服器對瀏覽器請求作出響應,並把對應的 html 文字傳送給瀏覽器;

瀏覽器發出讀取檔案(url 中網域名稱後面部分對應的檔案)的http 請求,該請求報文作為 tcp 三次握手的第三個報文的資料傳送給伺服器;

解析出 ip 位址後,根據該 ip 位址和預設埠 80,和伺服器建立tcp連線;

瀏覽器向 dns 伺服器請求解析該 url 中的網域名稱所對應的 ip 位址;

get和post請求的區別

get提交的資料會在位址列中顯示出來,而post提交,位址列不會改變

傳輸資料的大小

安全性,post的安全性要比get的安全性高。

HTTP協議學習

1 什麼是http協議?http是超文字傳輸協議,是基於tcp ip協議之上實現的用於客戶端和伺服器之間資料傳輸的一種協議 2 什麼是http協議的無狀態?怎麼解決http協議的無狀態?解決 使用cookie或者session來保持會話 3 http支援的方法有哪些?一共有8種請求方法 get 獲取...

HTTP協議學習

面試過程中又乙個常見的問題,http協議,因為做伺服器開發如果用http協議的話,現在各種開源軟體都封裝好了,python中只需要簡單的繼承定義好的類,重寫get或者post等方法,幾行 就可以搭建起來乙個簡單的http伺服器,導致底層對程式設計師來說都是透明的了。但是面試中追求這個底層的問題還不少...

HTTP協議學習

http,全稱為 hypertext transfer protocol,即為超文字傳輸協議。是網際網路應用最為廣泛的一種網路協議,所有的 www 檔案都必須遵守這個標準。它有以下特點 request 請求行 request line 請求頭部 header 空行和請求資料四個部分組成。respon...