1. 程式人生 > >HTTP筆記(二)HTTP協議的通訊

HTTP筆記(二)HTTP協議的通訊

客戶端和伺服器之間的通訊

HTTP協議和TCP/IP協議族內的其他眾多的協議相同,用於客戶端和伺服器之間的通訊。
客戶端:請求訪問文字或影象等資源的一端稱為客戶端。
服務端:提供資源響應的一端。

請求和響應

HTTP協議規定,請求有客戶端發出,最後伺服器響應該請求並返回。
1.傳送請求

GET / HTTP/1.1
Host: www.xxx.com

2.傳送響應

HTTP/1.1 200 OK
Date: Tue, 10 Jul 2015 06:50:15 GMT
Content-Length: 362
Content-Type: text/html

下面是個請求報文例子:

GET /index.htm
HTTP/1.1
Host: www.xxx.com

起頭的GET表示請求訪問伺服器的型別,稱為方法(method)。隨後字串index.htm指明瞭請求訪問的資源物件,也叫做請求URI(request-URI)。最後的HTTP/1.1,即HTTP的版本號,用來提示客戶端使用的HTTP協議功能。
請求報文是有請求方法、請求URI、協議版本、可選的請求首部欄位和內容實體構成。

POST(method) /index.htm(URI) HTTP/1.1(協議版本)
------------------------------------------------------
(實體)
Host: www.xxx.com
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 310
------------------------------------------------------
(內容實體) userId=3076&name=leo

在伺服器接收到請求報文後,經過處理以響應報文的形式返回。

HTTP/1.1 200 OK
Date: Tue, 10 Jul 2015 16:50:15 GMT
Content-Length: 362
Content-Type: text/html

<html>
......
</html>

起頭的HTTP/1.1表示表示伺服器對應的HTTP版本。
200 OK表示伺服器處理結果的狀態嗎(status code)和原因短語(reason-phrase)。下一行顯示了建立響應的日期時間,是首部欄位(header field)內的一個屬性。
接著空一行分隔,之後內容為資源實體的主體(enity body)。
響應報文基本上有協議版本、狀態碼(表示請求成功或者失敗的數字程式碼)、用以解釋狀態嗎的原因短語、可選的響應首部欄位以及實體主體構成。

相關推薦

HTTP筆記HTTP協議通訊

客戶端和伺服器之間的通訊 HTTP協議和TCP/IP協議族內的其他眾多的協議相同,用於客戶端和伺服器之間的通訊。 客戶端:請求訪問文字或影象等資源的一端稱為客戶端。 服務端:提供資源響應的一端。 請求和響應 HTTP協議規定,請求有客戶端發出,最後

爬蟲學習筆記http請求詳解

not found 上傳 取數 found 語法錯誤 爬蟲學習 訪問 request 永久 上篇博客裏面寫了,爬蟲就是發http請求(瀏覽器裏面打開發送的都是http請求),然後獲取到response,咱們再從response裏面找到想要的數據,存儲到本地。 咱們本章就來說

nginx 學習筆記 http、https、utp/tcp 代理配置 nginx.conf

安全問題,建議用nobody,不要用root. user root; #啟動程序,通常設定成和cpu的數量相等 worker_processes 1; error_log path(存放路徑) le

分布式筆記一致性協議

分析 text 如何 更多 區別 accept 進行 當前 分布式系統 一致性協議 一、2PC與3PC 請自行回憶2PC與3PC的過程,及在正式提交階段的處理單點問題的區別。分析各自的優缺點。 二、Paxos算法 一)Paxos算法解決的問題:分布式系統中如何對一個問題

Javaweb學習筆記:servlet初體驗、HTTP協議

目錄 1.Servlet體驗 1.1servlet的繼承體系 1.2手動開發動態web資源 1.3工具開發動態資源 2.HTTP協議 2.1概念 2.2請求資訊 2.2.1請求行 2.2.2請求頭 2.2.3空行與實體內容 2.3HttpServlet

HTTP協議學習筆記

 HTTP協議學習筆記(二)   1.HTTP報文 HTTP報文:用於HTTP協議互動的資訊。請求報文:請求端(客戶端)的HTTP報文叫做請求報文。響應報文:響應端(服務端)的HTTP報文叫做響應報文。 HTTP報文大致可分為報文首部和報文主體兩塊。兩者最初由空行(CR+LF)來劃

HTTP權威指南》--閱讀筆記

cep ask 資源 phrase 格式 tel 位置 自動擴展 port URL的三部分: 1,方案 scheme 2,服務器位置 3,資源路徑 URL語法: <scheme>://<user>:<password>@&

Java Web -- Http協議 & Servlet

通用 -i 文檔 ica exe 服務器端 get bat 多個 Http協議&Servlet Http協議 1、什麽是協議   雙方在交互、通訊的時候, 遵守的一種規範、規則。 2、http協議   針對網絡上的客戶端 與 服務器端在執行http請求的時候,遵守的

《圖解http》讀書筆記

第六章 HTTP首部欄位 通用首部欄位 1.Cache-Control 請求指令:(請求頭裡面帶Cache-Control時的指令) 指令 引數 說明 no-cache 無 強制向源伺服器再次驗

網路通訊協議筆記

切換到使用者的角度,看看使用者是如何從上至下,與這些協議互動的。 網路通訊就是交換資料包。電腦A向電腦B傳送一個數據包,後者收到了,回覆一個數據包,從而實現兩臺電腦之間的通訊。資料包的結構,基本上是下面這樣: 傳送這個包,需要知道兩個地址: * 對方的MAC地址

Python復習筆記Http協議

ipo acc private 超文本傳輸協議 pan plus div transport rcv 1. HTTP協議(超文本傳輸協議) 瀏覽器===>服務器發送的請求格式如下: GET / HTTP/1.1 Host: www.baidu.com Co

淺顯易懂的前端知識點——HTTP協議基礎

HTTP 協議的初印象: 是基於 TCP/IP 協議的應用層協議,不涉及資料包的傳輸,主要規定了客戶端和伺服器之間的通訊格式,預設使用 80 埠。 1 HTTP 協議 0.9 版(1991 年) 是個弱智協議,客戶端發起請求以後,伺服器只能返回 HTML 格式的字串,不能迴應別的格式。 只有一個 GET 命令

教你寫Http框架——三個樣例帶你深入理解AsyncTask

func implement oncreate 其它 層疊 worker dcl 例如 人員 這個標題大家不要奇怪,扯Http框架怎麽扯到AsyncTask去了,有兩個原因:首先是Http框架除了核心http理論外。其技術實現核心也是線程池 + 模板 +

CDN HTTPS 最佳實踐系列——HTTP/2

https 證書 cdn 背景HTTP/2 是最新的 HTTP 協議,已於2015年5月份正式發布,Chrome、 IE11、Safari 以及 Firefox 等主流瀏覽器已經支持 HTTP/2 協議。阿裏雲 CDN 在2016年7月份開始全網支持 HTTP/2,是國內第一家全網支持 HTTP/

從零開始學HTTP HTTP結構與基礎

現象 encode 伸縮 協議 for 服務端 例如 lis 格式 HTTP結構與基礎 這篇文章中,我們主要針對HTTP\1.1版本進行介紹 請求報文和響應報文 請求報文 請求報文由客戶端發出,其格式為: 請求方法 請求URI 協議版本 可選的請求首部字段和內容實體,

深入理解http------http的緩存機制及原理

dad hl7 工作 tps sla vhk b+ vpp lrn 一、概念基礎 參考原文:https://blog.csdn.net/hiredme/article/details/73468040 http的緩存,主要存在於本地瀏覽器和web代理服務器中。 在

HTTP系列—— 常見的HTTP狀態碼

目錄  1. 狀態碼的類別 2. 狀態碼詳解  2.1 成功狀態碼 2.2 重定向狀態碼 2.3 客戶端錯誤狀態碼 2.4 服務端錯誤狀態碼  HTTP狀態碼負責表示客戶端HTTP請求的返回結果、標記服務端處理是否正常、通知出現的

前端效能毫秒必爭方案HTTP快取

web最好的體驗是不需要與伺服器通訊 響應消除所有的網路延遲,並避免資料傳輸的資料開銷。 為了實現這一目標,HTTP規範允許伺服器返回多個不同的快取控制指令來控制如何,以及多長時間可以通過瀏覽器和其他中間快取快取單個響應。 0.0.1. 好在每個現代瀏覽器都自帶了 HTTP 快取實現功能。

OpenLayers學習筆記— QML與HTML通訊之畫圖

QML與 HTML通訊—實現QML中點選功能按鈕在地圖上畫圖 作者: 狐狸家的魚 Github: 八至  一、HTML-map  var drarGraphic; var drawType;function

網路程式設計 筆記 基於 Windows簡單通訊

windows套接字程式設計 1、設定庫Alt+F7 ->“配置屬性”-> “聯結器” -> “輸入” -> “附加依賴項” -> “ws2_32.lib” 2、標頭檔案:#include <winsock2.h>