web工作原理及http協議(基礎篇)

來源:互聯網
上載者:User

標籤: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協議(基礎篇)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.