【學習隨筆】web url http 初涉

來源:互聯網
上載者:User

標籤:交易處理   個數   路徑   拒絕   err   記憶   服務   發展   訪問   

關於web,在最開始,每一台電腦都是分離獨立的,各自完成各自的任務與工作,期間沒有任何互動聯絡,彼此之間無法擷取資訊。例如,A機上的程式,B機可能沒有,若B機想要使用這個程式,那麼就需要安裝和A機相同的程式。但電腦數量較少的情況,還是比較簡單,但是如果假設有500台電腦,那麼安裝就很複雜,費時費力。如何解決這個方法呢?那麼就是將這500台電腦連成一個網路,就像蜘蛛網那樣,這樣彼此直接就能共用。通常來說,把提供服務的電腦稱為伺服器,把接受使用服務的電腦稱為客戶機。即C/S結構(client/sever)。

URL(Uniform Resoure Locator:統一資源定位器),是Internet上用來描述資訊資源的字串,可以協助電腦來定位這些Web上可用資源。

例如http://localhost/Comic/Home/Manzhan/manzhan.html

URI一般由3把部分組成:

訪問資源的命名機制(協議):http,實際上還有可能是ftp等;

存放資源的主機名稱:localhost;

資源自身的名稱,由路徑表示:Comic/Home/Manzhan/manzhan.html

另外有一個概念,叫做統一資源標識(Uniform Resource Identifier,URI)。

在網路領域,熟悉URL概念的人比熟悉URI的要多,實際上,URL是URI命名機制的一個子集。

HTTP是一個屬於應用程式層的物件導向的協議,由於其簡捷、快速的方式,適用於分布式超媒體資訊系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴充。

HTTP協議的主要特點可概括如下:
1.支援客戶/伺服器模式。
2.簡單快速:客戶向伺服器請求服務時,只需傳送要求方法和路徑。要求方法常用的有GET、HEAD、POST。每種方法規定了客戶與伺服器聯絡的類型不同。由於HTTP協議簡單,使得HTTP伺服器的程式規模小,因而通訊速度很快。
3.靈活:HTTP允許傳輸任意類型的資料對象。正在傳輸的類型由Content-Type加以標記。
4.無串連:不需連線的含義是限制每次串連只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即中斷連線。採用這種方式可以節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於交易處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次串連傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。

HTTP協議詳解之請求篇

http請求由三部分組成,分別是:請求行、訊息前序、請求本文 

1、請求行以一個方法符號開頭,以空格分開,後面跟著請求的URI和協議的版本,格式如下:Method Request-URI HTTP-Version CRLF 

其中 Method表示要求方法;Request-URI是一個統一資源識別項;HTTP-Version表示請求的HTTP協議版本;CRLF表示斷行符號和換行(除了作為結尾的CRLF外,不允許出現單獨的CR或LF字元)。

要求方法(所有方法全為大寫)有多種,各個方法的解釋如下:
GET     請求擷取Request-URI所標識的資源

GET /form.html HTTP/1.1 (CRLF)
POST    在Request-URI所標識的資源後附加新的資料

POST /reg.jsp HTTP/ (CRLF)
HEAD    請求擷取由Request-URI所標識的資源的響應訊息前序

HEAD方法與GET方法幾乎是一樣的,對於HEAD請求的回應部分來說,它的HTTP頭部中包含的資訊與通過GET請求所得到的資訊是相同的。利用這個方法,不必傳輸整個資源內容,就可以得到Request-URI所標識的資源的資訊。該方法常用於測試超連結的有效性,是否可以訪問,以及最近是否更新。
PUT     請求伺服器儲存一個資源,並用Request-URI作為其標識
DELETE  請求伺服器刪除Request-URI所標識的資源
TRACE   請求伺服器回送收到的請求資訊,主要用於測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢服務器的效能,或者查詢與資源相關的選項和需求

    HTTP協議詳解之響應篇

    在接收和解釋請求訊息後,伺服器返回一個HTTP響應訊息。

HTTP響應也是由三個部分組成,分別是:狀態行、訊息前序、響應本文

1、狀態行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示伺服器HTTP協議的版本;Status-Code表示伺服器發回的響應狀態碼;Reason-Phrase表示狀態碼的文本描述。

狀態碼有三位元字組成,第一個數字定義了響應的類別,且有五種可能取值:

1xx:指示資訊--表示請求已接收,繼續處理

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

3xx:重新導向--要完成請求必須進行更進一步的操作

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

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

常見狀態碼、狀態原因、說明:

200 OK     //用戶端請求成功

400 Bad Request //用戶端請求有語法錯誤,不能被伺服器所理解

401 Unauthorized //請求未經授權,這個狀態碼必須和WWW-Authenticate前序域一起使用

403 Forbidden //伺服器收到請求,但是拒絕提供服務

404 Not Found //請求資源不存在,eg:輸入了錯誤的URL

500 Internal Server Error //伺服器發生不可預期的錯誤

503 Server Unavailable  //伺服器當前不能處理用戶端的請求,一段時間後可能恢複正常

eg:HTTP/1.1 200 OK (CRLF)

2、響應前序後述 

3、響應本文就是伺服器返回的資源的內容

【學習隨筆】web url 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.