成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

淺談http

Jonathan Shieber / 2534人閱讀

摘要:的第一部分被稱為方案,說明了訪問資源所使用的協(xié)議類型。狀態(tài)碼位于響應(yīng)的起始行中。是超文本傳輸協(xié)議,信息是明文傳輸,則是具有安全性的加密傳輸協(xié)議。協(xié)議是由協(xié)議構(gòu)建的可進行加密傳輸身份認證的網(wǎng)絡(luò)協(xié)議,要比協(xié)議安全。

HTTP概述

HTTP (HyperText Transfer Protocol,超文本傳輸協(xié)議)。 Web是建立在HTTP協(xié)議通信的。

HTTP 是個應(yīng)用層協(xié)議。HTTP 無需操心網(wǎng)絡(luò)通信的具體細節(jié);它把聯(lián)網(wǎng)的細節(jié)都
交給了通用、可靠的因特網(wǎng)傳輸協(xié)議 TCP/IP。

TCP 提供了:
? 無差錯的數(shù)據(jù)傳輸;
? 按序傳輸(數(shù)據(jù)總是會按照發(fā)送的順序到達);
? 未分段的數(shù)據(jù)流(可以在任意時刻以任意尺寸將數(shù)據(jù)發(fā)送出去)。

HTTP資源

Web 服務(wù)器是 Web 資源(Web resource)的宿主。Web 資源是 Web 內(nèi)容的源頭。
最簡單的 Web 資源就是 Web 服務(wù)器文件系統(tǒng)中的靜態(tài)文件。這些文件可以包含
任意內(nèi)容:文本文件、HTML 文件、微軟的 Word 文件、Adobe 的 Acrobat 文件、
JPEG 圖片文件、AVI 電影文件,或所有其他你能夠想到的格式。

MIME

(Multipurpose Internet Mail Extension,多用途因特網(wǎng)郵件擴展)是為了解決在不同
的電子郵件系統(tǒng)之間搬移報文時存在的問題。MIME 在電子郵件系統(tǒng)中工作得非常
好,因此 HTTP 也采納了它,用它來描述并標(biāo)記多媒體內(nèi)容

? HTML 格式的文本文檔由 text/html 類型來標(biāo)記。
? 普通的 ASCII 文本文檔由 text/plain 類型來標(biāo)記。
? JPEG 格式的圖片為 image/jpeg 類型。
? GIF 格式的圖片為 image/gif 類型。
? Apple 的 QuickTime 電影為 video/quicktime 類型。
? 微軟的 PowerPoint 演示文件為 application/vnd.ms-powerpoint 類型

URL

服務(wù)器資源名被稱為統(tǒng)一資源標(biāo)識符(Uniform Resource Identifier,URI)。
URI 就像因特網(wǎng)上的郵政地址一樣,在世界范圍內(nèi)唯一標(biāo)識并定位信息資源。

大部分 URL 都遵循一種標(biāo)準(zhǔn)格式,這種格式包含三個部分。
? URL 的第一部分被稱為方案(scheme),說明了訪問資源所使用的協(xié)議類型。這
部分通常就是 HTTP 協(xié)議(http://)。
? 第二部分給出了服務(wù)器的因特網(wǎng)地址(比如,www.joes-hardware.com)。
? 其余部分指定了 Web 服務(wù)器上的某個資源(比如,/specials/saw-blade.gif)

HTTP 報文

所有的 HTTP 報文都可以分為兩類: 請求報文(request message)和響應(yīng)報文
(response message)。

請求報文的格式

GET /test/hi-there.txt HTTP/1.1
Accept: text/*
Host: www.joes-hardware.com

響應(yīng)報文的格式

HTTP/1.0 200 OK
Content-type: text/plain
Content-length: 19
Hi! I’m a message!

包括以下三個部分

? 起始行
報文的第一行就是起始行,在請求報文中用來說明要做些什么,在響應(yīng)報文中說
明出現(xiàn)了什么情況。
? 首部字段
起始行后面有零個或多個首部字段。每個首部字段都包含一個名字和一個值,為
了便于解析,兩者之間用冒號(:)來分隔。首部以一個空行結(jié)束。添加一個首
部字段和添加新行一樣簡單。
? 主體
空行之后就是可選的報文主體了,其中包含了所有類型的數(shù)據(jù)。請求主體中包括
了要發(fā)送給 Web 服務(wù)器的數(shù)據(jù);響應(yīng)主體中裝載了要返回給客戶端的數(shù)據(jù)。起
始行和首部都是文本形式且都是結(jié)構(gòu)化的,而主體則不同,主體中可以包含任意
的二進制數(shù)據(jù)(比如圖片、視頻、音軌、軟件程序)。當(dāng)然,主體中也可以包含
文本

HTTP方法

一些常見的HTTP方法

HTTP方法 描  述
GET 從服務(wù)器向客戶端發(fā)送命名資源
PUT 將來自客戶端的數(shù)據(jù)存儲到一個命名的服務(wù)器資源中去
DELETE 從服務(wù)器中刪除命名資源
POST 將客戶端數(shù)據(jù)發(fā)送到一個服務(wù)器網(wǎng)關(guān)應(yīng)用程序
HEAD 僅發(fā)送命名資源響應(yīng)中的 HTTP 首部

HTTP狀態(tài)碼

狀態(tài)碼則用來告訴客戶端,發(fā)生了什么事情。狀態(tài)碼位于響應(yīng)的起始行中。比如,在行 HTTP/1.0 200 OK 中,狀態(tài)碼就是 200。

狀態(tài)碼分類:

常見狀態(tài)碼:

100——客戶必須繼續(xù)發(fā)出請求

101——客戶要求服務(wù)器根據(jù)請求轉(zhuǎn)換HTTP協(xié)議版本

200——交易成功

201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不確定或不完整

204——請求收到,但返回信息為空

205——服務(wù)器完成了請求,用戶代理必須復(fù)位當(dāng)前已經(jīng)瀏覽過的文件

206——服務(wù)器已經(jīng)完成了部分用戶的GET請求

300——請求的資源可在多處得到

301——刪除請求數(shù)據(jù)

302——在其他地址發(fā)現(xiàn)了請求數(shù)據(jù)

303——建議客戶訪問其他URL或訪問方式

304——客戶端已經(jīng)執(zhí)行了GET,但文件未變化

305——請求的資源必須從服務(wù)器指定的地址得到

306——前一版本HTTP中使用的代碼,現(xiàn)行版本中不再使用

307——申明請求的資源臨時性刪除

400——錯誤請求,如語法錯誤

401——請求授權(quán)失敗

402——保留有效ChargeTo頭響應(yīng)

403——請求不允許

404——沒有發(fā)現(xiàn)文件、查詢或URl

405——用戶在Request-Line字段定義的方法不允許

406——根據(jù)用戶發(fā)送的Accept拖,請求資源不可訪問

407——類似401,用戶必須首先在代理服務(wù)器上得到授權(quán)

408——客戶端沒有在用戶指定的時間內(nèi)完成請求

409——對當(dāng)前資源狀態(tài),請求不能完成

410——服務(wù)器上不再有此資源且無進一步的參考地址

411——服務(wù)器拒絕用戶定義的Content-Length屬性請求

412——一個或多個請求頭字段在當(dāng)前請求中錯誤

413——請求的資源大于服務(wù)器允許的大小

414——請求的資源URL長于服務(wù)器允許的長度

415——請求資源不支持請求項目格式

416——請求中包含Range請求頭字段,在當(dāng)前請求資源范圍內(nèi)沒有range指示值,請求也不包含If-Range請求頭字段

417——服務(wù)器不滿足請求Expect頭字段指定的期望值,如果是代理服務(wù)器,可能是下一級服務(wù)器不能滿足請求

500——服務(wù)器產(chǎn)生內(nèi)部錯誤

501——服務(wù)器不支持請求的函數(shù)

502——服務(wù)器暫時不可用,有時是為了防止發(fā)生系統(tǒng)過載

503——服務(wù)器過載或暫停維修

504——關(guān)口過載,服務(wù)器使用另一個關(guān)口或服務(wù)來響應(yīng)用戶,等待時間設(shè)定值較長

505——服務(wù)器不支持或拒絕支請求頭中指定的HTTP版本

HTTP的結(jié)構(gòu)組件

在本章的概述中,我們重點介紹了兩個 Web 應(yīng)用程序(Web 瀏覽器和 Web 服務(wù)器)
是如何相互發(fā)送報文來實現(xiàn)基本事務(wù)處理的。在因特網(wǎng)上,要與很多 Web 應(yīng)用程序
進行交互。在本節(jié)中,我們將列出其他一些比較重要的應(yīng)用程序,如下所示。
? 代理
位于客戶端和服務(wù)器之間的 HTTP 中間實體。
? 緩存
HTTP 的倉庫,使常用頁面的副本可以保存在離客戶端更近的地方。
? 網(wǎng)關(guān)
連接其他應(yīng)用程序的特殊 Web 服務(wù)器。
? 隧道
對 HTTP 通信報文進行盲轉(zhuǎn)發(fā)的特殊代理。
? Agent 代理
發(fā)起自動 HTTP 請求的半智能 Web 客戶端。

代理

代理位于客戶端和服務(wù)器之間,接收所有客戶端的 HTTP 請求,并
將這些請求轉(zhuǎn)發(fā)給服務(wù)器(可能會對請求進行修改之后轉(zhuǎn)發(fā))。對用戶來說,這些應(yīng)
用程序就是一個代理,代表用戶訪問服務(wù)器。

緩存

Web 緩存(Web cache)或代理緩存(proxy cache)是一種特殊的 HTTP 代理服務(wù)
器,可以將經(jīng)過代理傳送的常用文檔復(fù)制保存起來。下一個請求同一文檔的客戶端
就可以享受緩存的私有副本所提供的服務(wù)了。 客戶端從附近的緩存下載文檔會比從遠程 Web 服務(wù)器下載快得多。

網(wǎng)關(guān)

網(wǎng)關(guān)(gateway)是一種特殊的服務(wù)器,作為其他服務(wù)器的中間實體使用。通常用于
將 HTTP 流量轉(zhuǎn)換成其他的協(xié)議。網(wǎng)關(guān)接受請求時就好像自己是資源的源端服務(wù)器
一樣??蛻舳丝赡懿⒉恢雷约赫谂c一個網(wǎng)關(guān)進行通信。

隧道

隧道(tunnel)是建立起來之后,就會在兩條連接之間對原始數(shù)據(jù)進行盲轉(zhuǎn)發(fā)的
HTTP 應(yīng)用程序。HTTP 隧道通常用來在一條或多條 HTTP 連接上轉(zhuǎn)發(fā)非 HTTP 數(shù)
據(jù),轉(zhuǎn)發(fā)時不會窺探數(shù)據(jù)。

HTTP 隧道的一種常見用途是通過 HTTP 連接承載加密的安全套接字層(SSL,
Secure Sockets Layer)流量,這樣 SSL 流量就可以穿過只允許 Web 流量通過的防
火墻了。如圖 所示,HTTP/SSL 隧道收到一條 HTTP 請求,要求建立一條到目
的地址和端口的輸出連接,然后在 HTTP 信道上通過隧道傳輸加密的 SSL 流量,這
樣就可以將其盲轉(zhuǎn)發(fā)到目的服務(wù)器上去了

Agent 代理

用戶 Agent 代理(或者簡稱為 Agent 代理)是代表用戶發(fā)起 HTTP 請求的客戶端程
序。(也被叫做爬蟲、網(wǎng)絡(luò)蜘蛛、web機器人),是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

HTTPS

HTTPS 是最常見的 HTTP 安全版本。它得到了很廣泛的應(yīng)用,所有主要的商業(yè)瀏覽
器和服務(wù)器上都提供 HTTPS。HTTPS 將 HTTP 協(xié)議與一組強大的對稱、非對稱和
基于證書的加密技術(shù)結(jié)合在一起,使得 HTTPS 不僅很安全,而且很靈活,很容易
在處于無序狀態(tài)的、分散的全球互聯(lián)網(wǎng)上進行管理。

HTTPS = HTTP + SSL(或TLS) + 認證(證書) + 加密(加密算法)

HTTP和HTTPS協(xié)議的區(qū)別

1、HTTPS協(xié)議需要到證書頒發(fā)機構(gòu)(Certificate Authority,簡稱CA)申請證書,一般免費證書很少,需要交費。

2、HTTP是超文本傳輸協(xié)議,信息是明文傳輸,HTTPS則是具有安全性的SSL加密傳輸協(xié)議。

3、HTTP和HTTPS使用的是完全不同的連接方式,使用的端口也不一樣,前者是80,后者是443。

4、HTTP的連接很簡單,是無狀態(tài)的。

5、HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議,要比HTTP協(xié)議安全。

從上面可看出,HTTPS和HTTP協(xié)議相比提供了

· 數(shù)據(jù)完整性:內(nèi)容傳輸經(jīng)過完整性校驗

· 數(shù)據(jù)隱私性:內(nèi)容經(jīng)過對稱加密,每個連接生成一個唯一的加密密鑰

· 身份認證:第三方無法偽造服務(wù)端(客戶端)身份

其中,數(shù)據(jù)完整性和隱私性由TLS Record Protocol保證,身份認證由TLS Handshaking Protocols實現(xiàn)。

參考博客

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/62128.html

相關(guān)文章

  • 淺談網(wǎng)站性能之前端性能優(yōu)化

    摘要:淺談網(wǎng)站性能之前端性能優(yōu)化性能優(yōu)化的目的無非是減少用戶流量消耗,提升用戶首屏體驗,提升用戶訪問速度,讓用戶專注內(nèi)容本身。前端性能優(yōu)化減少請求數(shù)量基本原理在瀏覽器與服務(wù)器進行通信時,主要是通過進行通信。 最近項目慢慢走上正軌,需求趨于平穩(wěn),這才想起需要對整站進行性能優(yōu)化。經(jīng)過一段時間的學(xué)習(xí),結(jié)合現(xiàn)在項目的實際性能情況,發(fā)現(xiàn)確實有許多地方可以進行優(yōu)化。于是就開始了我的前端性能優(yōu)化之旅。以下...

    Winer 評論0 收藏0
  • 淺談網(wǎng)站性能之前端性能優(yōu)化

    摘要:淺談網(wǎng)站性能之前端性能優(yōu)化性能優(yōu)化的目的無非是減少用戶流量消耗,提升用戶首屏體驗,提升用戶訪問速度,讓用戶專注內(nèi)容本身。前端性能優(yōu)化減少請求數(shù)量基本原理在瀏覽器與服務(wù)器進行通信時,主要是通過進行通信。 最近項目慢慢走上正軌,需求趨于平穩(wěn),這才想起需要對整站進行性能優(yōu)化。經(jīng)過一段時間的學(xué)習(xí),結(jié)合現(xiàn)在項目的實際性能情況,發(fā)現(xiàn)確實有許多地方可以進行優(yōu)化。于是就開始了我的前端性能優(yōu)化之旅。以下...

    philadelphia 評論0 收藏0
  • 淺談http協(xié)議(三):HTTP 報文及其結(jié)構(gòu)

    摘要:請求行請求方法空格統(tǒng)一資源標(biāo)識符空格版本請求頭字段名冒號值空行回車符換行符請求體由用戶自定義添加,如的等請求首部實例谷歌瀏覽器面板響應(yīng)報文結(jié)構(gòu)響應(yīng)報文結(jié)構(gòu)與請求報文結(jié)構(gòu)唯一的區(qū)別在于第一行中用狀態(tài)信息代替了請求信息。 很多開發(fā)者天天跟http打交道,卻不知道http報文長什么樣子,結(jié)構(gòu)是怎么樣的,是時候普及一下了。用于 HTTP 協(xié)議交互的信息被稱為 HTTP 報文,請求端(客戶端)的...

    hyuan 評論0 收藏0
  • 淺談http協(xié)議(三):HTTP 報文及其結(jié)構(gòu)

    摘要:請求行請求方法空格統(tǒng)一資源標(biāo)識符空格版本請求頭字段名冒號值空行回車符換行符請求體由用戶自定義添加,如的等請求首部實例谷歌瀏覽器面板響應(yīng)報文結(jié)構(gòu)響應(yīng)報文結(jié)構(gòu)與請求報文結(jié)構(gòu)唯一的區(qū)別在于第一行中用狀態(tài)信息代替了請求信息。 很多開發(fā)者天天跟http打交道,卻不知道http報文長什么樣子,結(jié)構(gòu)是怎么樣的,是時候普及一下了。用于 HTTP 協(xié)議交互的信息被稱為 HTTP 報文,請求端(客戶端)的...

    CatalpaFlat 評論0 收藏0
  • 淺談高性能web前端技術(shù)棧——小白輕松做到減少HTTP請求

    摘要:小白如何輕松寫出高性能前端頁面一從減少請求開始下面分別從以下幾點開篇圖片地圖,,內(nèi)聯(lián)圖片,樣式表合并,腳本文件合并。操作原理通過合并圖片減少請求,并且比圖片地圖更靈活,降低下載量,合并后圖片比分離的圖片總和要小。 小白如何輕松寫出高性能web前端頁面 一.從減少HTTP請求開始 下面分別從以下幾點開篇:圖片地圖,CSS Sprites,內(nèi)聯(lián)圖片,樣式表合并,腳本文件合并。 1.圖片地圖...

    jayzou 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<