摘自:
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...