HTTP協議簡介

2021-09-18 07:05:40 字數 2237 閱讀 1844

http超文字傳輸協議

**hypertext transfer protocol 是網際網路上應用最為廣泛的一種網路協議

所有的www檔案都必須遵守這個標準。

設計http最初的目的是為了提供一種發布者和接收html頁面的方法

是基於tcp/ip通訊協議來傳遞資料的

乙個屬於應用層的物件導向的協議

瀏覽器作為http客戶端推過url向http服務端即web伺服器傳送所有請求

主要特點:簡單快速,無連線,無狀態,支援b/s及c/s 模式

url和uri

http使用統一資源識別符號uri(uniform resource identifiers)來傳輸資料和建立連線

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

普通的url組成

協議部分:該url的協議部分為』http』,這代表網頁使用的是http協議

網域名稱部分:該url的網域名稱為www.aspxfans.com 也可以是ip

埠部分:網域名稱和埠之間使用『:』作為分隔符。如果省略預設80埠

虛擬目錄部分:從網域名稱後的第乙個『/』開始到最後乙個『/』為止,是虛擬目錄部分

檔名部分:從網域名稱後面最後乙個『/』開始到『?』微支付,是檔案部分,不是url必須的部分

錨部分:從#開始

引數部分:從?開始引數是鍵值對的形式出現的中間用=號,引數之間用『&』分隔符

http請求方法

http1.0定義了三種請求方法: get, post 和 head方法。

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

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

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

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

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

5.delete 請求伺服器刪除指定的頁面。

6.connect http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。

7.options 允許客戶端檢視伺服器的效能。

8.trace 回顯伺服器收到的請求,主要用於測試或診斷。

get和post的區別

get提交的資料會放在url之後,以?分割url和傳輸資料,引數之間以&相連線

如editposts.aspx?name=test1&id=123456.

post 方法是把提交的資料放在http包的body中.

get提交的資料大小有限制(因為瀏覽器對url的長度有限制),而post方法提交的資料沒有限制.

get方式需要使用request.querystring來取得變數的值,而post方式通過request.form來獲取變數的值

get方式提交資料,會帶來安全問題,比如乙個登入頁面,通過get方式提交資料時,使用者名稱和密碼將出現在url上,如果頁面可以被快取或 者其他人可以訪問這台機器,就可以從歷史記錄獲得該使用者的賬號和密碼.

http工作原理

http協議定義web客戶端如何從web伺服器請求web頁面,以及伺服器如何把web頁面傳送給客戶端。http協議採用了請求/響應模型。客戶端向伺服器傳送乙個請求報文,請求報文包含請求的方法、url、協議版本、請求頭部和請求資料,伺服器以乙個狀態行為響應,響應內容包括協議的版本、成功或者錯誤**、伺服器資訊、響應頭部和響應資料。

http請求響應的步驟

客戶端連線到web伺服器

傳送http請求

伺服器接收請求並返回http響應

釋放連線tcp連線

客戶端瀏覽器解析html內容

http報文結構

http協議:

請求客戶端:

請求行:請求方法 url http版本

請求頭:鍵值對結構

user-agent:python

accept:*

空行:代表請求頭結束

請求體:當post請求有請求體

響應:服務端
響應行:http版本 狀態碼 狀態描述

響應頭:鍵值對構成

content-type:text/html

空行:代表響應頭結束

響應體:響應資料

HTTP協議簡介

現在web發展如火如荼,web開發人員也越來越多,但有幾個對支援web的http協議有了解呢?底層協議基礎不紮實,高層應用是很難做到極致的。帶著好奇心,開始學習吧!http hypertext transfer protocol 即超文字傳輸協議,是瀏覽器和伺服器之間互相通訊的一種約定,通過網際網路...

HTTP協議 簡介

全稱為超文字傳輸協議 hypertext transfer protocol 設計之初是為了將超文字標記語言 html 文件從web伺服器傳送到客戶端的瀏覽器。現在http的作用已不侷限於html的傳輸。url url示例 解釋 scheme 指定低層使用的協議 例如 http,https,ftp ...

http協議簡介

摘要 本文 go web程式設計 一書,覺得說的比較好,特轉過來收藏。我們平時瀏覽網頁的時候,會開啟瀏覽器,輸入 後按下回車鍵,然後就會顯示出你想要瀏覽的內容。在這個看似簡單的使用者行為背後,到底隱藏了些什麼呢?對於普通的上網過程,系統其實是這樣做的 瀏覽器本身是乙個客戶端,當你輸入url的時候,首...