http協議get 大廠面試必備之http詳解

2021-10-13 17:03:29 字數 1506 閱讀 7242

協議是指計算機通訊網路中兩台計算機之間進行通訊所必須共同遵守的規定或規則,超文字傳輸協議(http)是一種通訊協議,它允許將超文字標記語言(html)文件從web伺服器傳送到客戶端的瀏覽器

目前我們使用的是http/1.1 版本

當我們開啟瀏覽器,在位址列中輸入url,然後我們就看到了網頁。 原理是怎樣的呢?

實際上我們輸入url後,我們的瀏覽器給web伺服器傳送了乙個request, web伺服器接到request後進行處理,生成相應的response,然後傳送給瀏覽器, 瀏覽器解析response中的html,這樣我們就看到了網頁,過程如下圖所示

我們的request 有可能是經過了**伺服器,最後才到達web伺服器的

http協議定義了很多與伺服器互動的方法,最基本的有4種,分別是get,post,put,delete. 乙個url位址用於描述乙個網路上的資源,而http中的get, post, put, delete就對應著對這個資源的查,改,增,刪4個操作。 我們最常見的就是get和post了。get一般用於獲取/查詢資源資訊,而post一般用於更新資源資訊.

我們看看get和post的區別

1. get提交的資料會放在url之後,以?分割url和傳輸資料,引數之間以&相連,如editposts.aspx?name=test1&id=123456. post方法是把提交的資料放在http包的body中.

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

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

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

response訊息中的第一行叫做狀態行,由http協議版本號, 狀態碼, 狀態訊息 三部分組成。

狀態碼用來告訴http客戶端,http伺服器是否產生了預期的response.

http/1.1中定義了5類狀態碼, 狀態碼由三位數字組成,第乙個數字定義了響應的類別

1xx 提示資訊 - 表示請求已被成功接收,繼續處理

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

3xx 重定向 - 要完成請求必須進行更進一步的處理

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

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

HTTP協議面試

http1.0所做的優化 http1.0 http1.1的區別 1快取處理不同。1.0只是用乙個標頭檔案的快取策略,1.1引入了更多 2頻寬優化及網路連線的使用 1.0存在浪費頻寬,不支援斷點續傳功能。1.1允許只請求資源的部分 3host頭處理 1.0中每台伺服器繫結唯一的ip位址。1.1請求訊息...

前端面試 HTTP協議類 GET和POST區別

狀態行 響應頭 空行 響應體 僅http1.1支援 http使用 請求 應答 模式,每個請求,客戶端和伺服器都會新建乙個連線,完成後連線斷開 使用keep alive 持久連線 連線重用 時,keep alive會使客戶端和伺服器的連線持續有效,當出現對伺服器的後繼請求,避免重新建立連線 僅http...

對HTTP基本認識(HTTP協議入門必備)

目錄 基本概念 使用phpstudy演示get方法 分析下get方法 使用phpstudy演示post方法 分析post方法 http請求資訊和響應資訊的格式!請求 1.請求行 2.請求頭資訊 3.請求主題資訊 可以沒有 4.頭資訊結束後和主體資訊之間要空一行 請求行又分3部分!請求方法 請求路徑 ...