標籤:sha 快速 跨網站 請求 語法錯誤 wro http版本 trace min
web工作原理及http協議(基礎篇)
1.常見的
應用架構
(1)
C/S?全稱client/sever,即用戶端/伺服器
C/S架構軟體(即客戶機/伺服器模式)分為客戶機和伺服器兩層:
第一層是在客戶機系統上結合了表示與商務邏輯,使用者展示層,需要程式員自己寫用戶端;
第二層是通過網路結合了資料庫伺服器,資料庫層。
(2)
B/S?全稱Browser/Server,即瀏覽器/伺服器
只要有瀏覽器就可以開啟
2.WEB工作原理
HTTP處理流程:建立串連-->用戶端瀏覽器發送請求資訊--->web伺服器解析請求並找到相應的資源將檔案以及其它資訊組成HTTP響應返回用戶端-->關閉串連。
3.WEB工作的三種方式
(1)伺服器不帶應用程式和資料庫,直接請求HTML檔案
(2)伺服器帶應用程式(如php)
(3)伺服器帶應用程式和資料庫
4.URL
URL:統一資源定位器
格式:協議://網域名稱/目錄/檔案#片段標示符
例如:http://www.baidu.com/admin/index.php
5.HTTP協議
(1)HTTP:超文字傳輸通訊協定 (HTTP),工作於用戶端-服務端架構為上。瀏覽器作為HTTP用戶端通過URL向HTTP服務端即WEB伺服器發送所有請求,Web伺服器根據接收到的請求後,向用戶端發送響應資訊。
(2)特點:簡單快速、靈活、無串連。
(3)HTTP請求:
包括:請求行(request line)、要求標頭部(header)、空行 、請求資料
POST / HTTP1.1Host:www.wrox.comUser-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)Content-Type:application/x-www-form-urlencodedContent-Length:40Connection: Keep-Alivename=Professional%20Ajax&publisher=Wiley
第一部分:請求行,第一行表明了是post請求,以及http1.1版本。
第二部分:要求標頭部,第二行至第六行。
第三部分:空行,第七行的空行。
第四部分:請求資料,第八行。
(4)響應
包括:狀態行、訊息前序、空行和響應本文
HTTP/1.1 200 OKDate: Fri, 22 May 2009 06:07:21 GMTContent-Type: text/html; charset=UTF-8<html> <head></head> <body> <!--body goes here--> </body></html>
第一部分:狀態行,由HTTP協議版本號碼, 狀態代碼, 狀態訊息 三部分組成。
第一行為狀態行,(HTTP/1.1)表明HTTP版本為1.1版本,狀態代碼為200,狀態訊息為(ok)
第二部分:訊息前序,用來說明用戶端要使用的一些附加資訊
第二行和第三行為訊息前序,Date:產生響應的日期和時間;Content-Type:指定了MIME類型的HTML(text/html),編碼類別型是UTF-8
第三部分:空行,訊息前序後面的空行是必須的
第四部分:響應本文,伺服器返回給用戶端的文本資訊。
空行後面的html部分為響應本文。
(5)狀態代碼
三位元字組成,第一個數字定義了響應的類別,共分五種類別:
1xx:指示資訊--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重新導向--要完成請求必須進行更進一步的操作
4xx:用戶端錯誤--請求有語法錯誤或請求無法實現
5xx:伺服器端錯誤--伺服器未能實現合法的請求
常見狀態代碼:
200 OK //用戶端請求成功
400 Bad Request //用戶端請求有語法錯誤,不能被伺服器所理解
401 Unauthorized //請求未經授
403 Forbidden //伺服器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //伺服器發生不可預期的錯誤
503 Server Unavailable //伺服器當前不能處理用戶端的請求,一段時間後可能恢複正常
(6)要求方法
根據HTTP標準,HTTP請求可以使用多種要求方法。
GET: 請求指定的頁面資訊,並返回實體主體。
HEAD : 類似於get請求,只不過返回的響應中沒有具體的內容,用於擷取前序(常用於掃描器、掃描速度極快,如禦劍軟體)
POST: 向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)
PUT:從用戶端向伺服器傳送的資料取代指定的文檔的內容。
DELETE:請求伺服器刪除指定的頁面。
OPTIONS:允許用戶端查看伺服器的效能。
TRACE:回顯伺服器收到的請求,主要用於測試或診斷。
(7)常見的HTTP欄位
Referer(利用:跨網站請求偽造)
Content-Type?
X-Forwarded-for(偽造批量發包,利用:刷票工具)
web工作原理及http協議(基礎篇)