Http請求原理與相關知識

2022-08-11 03:36:19 字數 2659 閱讀 4127

1、在瀏覽器位址列輸入url,按回車後經過了哪些步驟

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

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

1-3. 伺服器對瀏覽器請求作出響應,並把對應的html文字傳送給瀏覽器並關閉tcp連線;

1-4. 瀏覽器得到html檔案後進行顯示內容;

2、請求

請求是由客戶端向伺服器傳送請求,分為四個部分內容:請求方法(request method)、請求位址(request url)、請求頭(request headers)、請求體(request body)。

2-1.  請求方法:常見的請求方法有兩種:get和post。其他請求方法

方法描述

get請求頁面,並返回頁面內容

head

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

post

大多用於提交表單或上傳檔案,資料報含在請求體中

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

delete

請求伺服器刪除指定的頁面

connect

把伺服器當作跳板,讓伺服器代替客戶端訪問其他網頁

options

允許客戶端檢視伺服器的效能

trace

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

get和post請求方法有如下區別。

一般來說,登入時需要提交使用者名稱和密碼,其中包含了敏感資訊,使用get方式請求的話,密碼就會暴露在url裡面,造成密碼洩露,所以這裡最好以post方式傳送。上傳檔案和form表單提交時,由於檔案內容比較大,也會選用post方式。

2-2.  請求url:請求的**,即統一資源定位符url,它可以唯一確定我們想請求的資源。  

2-3.  請求頭:用來說明伺服器要使用的附加資訊,比較重要的資訊有cookie,referer,user-agent等。下面簡要說明一些常用的頭資訊。

accept:請求報頭域,用於指定客戶端可接受哪些型別的資訊。

accept-language:指定客戶端可接受的語言型別。

accept-encoding:指定客戶端可接受的內容編碼。

host:指定請求資源的主機ip和埠號,其內容為請求url的原始伺服器或閘道器的位置。

cookie:也常用複數形式 cookies,這是**為了辨別使用者進行會話跟蹤而儲存在使用者本地的資料,它的主要功能是維持當前訪問會話。

referer:用來標識這個請求是從哪個頁面發過來的,伺服器可以拿到這一資訊並做相應的處理,如作**統計,防盜煉處理等。

user-agent:簡稱ua,它是乙個特殊的字串頭,可以使伺服器識別客戶使用的作業系統及版本、瀏覽器及版本等資訊。

2-4.  請求體:請求體一般承載的內容是post請求中的表單資料,而對於get請求,請求體則為空。 下面列出了content-type和post提交資料方式的關係。

content-type

提交資料的方式

表單資料

multipart/form-data

表單檔案上傳

序列化json資料

text/xml

xml資料

3、響應

響應是由服務端返回給客戶端,可以分為三個部分:響應狀態碼:(response status code)、響應頭(response headers)和響應體(response body)。

3-1.  響應狀態碼:響應狀態碼表示伺服器的響應狀態,如200代表伺服器正常響應,404代表頁面未找到,500代表伺服器內部發生錯誤。更多狀態碼請參考:

3-2.  響應頭:響應頭包含了伺服器對請求的應答資訊,如content-type、server、set-cookie等,下面簡要說明下常用的頭資訊。

data:標識響應產生的時間。

last-modified:指定資源的最後修改時間。

content-encoding:指定響應內容的編碼。

server:包含伺服器的資訊,比如名稱,版本號等。

set-cookie:設定cookies。響應頭中的set-cookie告訴瀏覽器需要將此內容放在cookies中,下次請求攜帶cookies請求。

expires:指定響應的過期時間,可以使**伺服器或瀏覽器將載入的內容更新到快取中,下次訪問時就可以直接從快取中載入,從而降低伺服器負載,縮短載入時間。

3-3.  響應體:響應體就是響應的訊息體,如果是純資料就是返回純資料,如果請求的是html頁面,那麼返回的就是html**,如果是js就是js**,如此之類。

HTTP基礎知識 http請求與響應

http1.1定義八種的方法 get post put delete patch head options trace 其中最常見的是get 和post 注意到的是如果是我誒resful介面的話一般會用到前四種請求方法。常見的請求header及其作用 在以上的請求頭屬性中,需要注意的是cookie,...

http 相關知識

1.http1.1協議 主要是增加了持久連線的技術,瀏覽器訪問乙個web頁面時,會根據返回的html頁面解析,如果遇到比如img,css或者js檔案時,它會發起後續的http請求去獲取資源,每一次都會有tcp的建立和關閉,很消耗效能。來自所以http1.1提出了持久化連線的概念,只需要建立一次連線,...

HTTP相關知識

一.http協議的定義 二.http協議的特點 2.多次http請求 在客戶端請求網頁時多數情況下並不是一次請求就能成功的,服務端首先是響應html頁面,然後瀏覽器收到響應之後發現html頁面還引用了其他的資源,例如,css,js檔案,等等,還會自動傳送http請求這些需要的資源。現在的http版本...