【學習隨筆】web url http 初涉
關於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 初涉