一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java程序員菜鳥進階(六)《HTTP權(quán)威指南》之HTTP相關(guān)概念詳解

 richsky 2013-02-17

Http:超文本傳輸協(xié)議,在我們?nèi)缃竦木W(wǎng)絡(luò)時代。我們每天瀏覽著萬萬千千的網(wǎng)頁,圖片,文字,這些都離不開Http,他是我們快速可靠訪問世界各地的web服務(wù)器資源地基礎(chǔ)。Http使用的是可靠地數(shù)據(jù)傳輸協(xié)議TCP協(xié)議。這樣就是保證了我們所訪問資源的萬無一失,不會產(chǎn)生數(shù)據(jù)丟失或者損壞。這也可以使我們開發(fā)人員把更多的經(jīng)歷放在程序業(yè)務(wù)細節(jié)上得編寫。避免了考慮一些數(shù)據(jù)傳輸途中的缺陷。下面我們就簡單來看一下HTTP有關(guān)的基礎(chǔ)知識。


一:web服務(wù)器和客戶端

Web服務(wù)器所使用的是HTTP協(xié)議。所以經(jīng)常被稱為HTTP服務(wù)器,這些服務(wù)器存儲了大量的網(wǎng)絡(luò)資源。在我們平時的上網(wǎng)過程中。我們每一次點擊的一個連接其實就是一個web請求。當我們點擊連接時,web客戶端,在這里也就是指的是瀏覽器會向web服務(wù)器發(fā)送一個請求。Web服務(wù)器根據(jù)請求的資源提供數(shù)據(jù)

                                                                                             


二.資源

在我們平時上網(wǎng)中所看到的的大多數(shù)都是web資源。這些資源都寄存在web服務(wù)器上。當我們訪問想要的資源時。Web服務(wù)器會給我們提供。最簡單也是最常見的資源就是一些靜態(tài)資源。如一些文檔,靜態(tài)頁面、音頻等。但資源不一定是靜態(tài)文件,有些資源還可以是根據(jù)需要生產(chǎn)內(nèi)容的軟件程序

1.媒體類型

在眾多的web資源中,它們有數(shù)千種不同的數(shù)據(jù)類型。HTTP會給每種要通過web傳輸?shù)馁Y源對象定義一個MIME類型的標簽。MIME類型是一種文本標記。表示一種主要的對象類型和一個特定的子類型。中間由一條斜杠來分割。

常見的MIME類型(通用型)

超文本標記語言文本 .html text/html

xml文檔 .xml text/xml

XHTML文檔 .xhtml application/xhtml+xml

普通文本 .txt text/plain

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

任意的二進制數(shù)據(jù) application/octet-stream


2.URI

每一個web服務(wù)器資源都有一個名字,這個名字叫資源標識符。他就像一個郵政地址一樣,在世界范圍內(nèi)唯一標識并定位信息資源。URI有兩種形式。分別為URLURN.


3.URL

統(tǒng)一資源定位符(URL,英語UniformResourceLocator的縮寫)也被稱為網(wǎng)頁地址,是因特網(wǎng)上標準的資源的地址。 

URL的格式由下列三部分組成:

第一部分是協(xié)議(或稱為服務(wù)方式);

第二部分是存有該資源的主機IP地址(有時也包括端口號);

第三部分是主機資源的具體地址。,如目錄和文件名等。

第一部分和第二部分之間用//”符號隔開,第二部分和第三部分用“/”符號隔開。第一部分和第二部分是不可缺少的,第三部分有時可以省略。現(xiàn)在幾乎所有的URI都是URL


4.URN

統(tǒng)一資源名稱 (Uniform Resource Name, URN),唯一標識一個實體的標識符,但是不能給出實體的位置。系統(tǒng)可以先在本地尋找一個實體,在它試著在Web上找到該實體之前。它也允許Web位置改變,然而這個實體卻還是能夠被找到。URN 可以提供一種機制,用于查找和檢索定義特定命名空間的架構(gòu)文件。盡管普通的 URL 可以提供類似的功能,但是在這方面,URN 更加強大并且更容易管理,因為 URN 可以引用多個 URL。與 URL 不同,URN 與地址無關(guān)。URN 和 URL 都屬于 URI。URNweb中主要應用是下拉菜單的制作。使用URN時下拉菜單的易擴展性將會得到很大的提高。

三.事務(wù)


一個HTTP事務(wù)是有一個web客戶端的請求和得到一個web服務(wù)器端響應組成的。這種通信時通過一種叫http報文的數(shù)據(jù)塊進行傳輸?shù)摹?/span>


1.方法

每一種HTTP請求報文都包含一種方法。這個方法指示了服務(wù)器要執(zhí)行什么動作(獲取頁面、運行網(wǎng)關(guān)程序、刪除文件等)。


四。種常見的Http方法


1.HEAD 向服務(wù)器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內(nèi)容的情況下,就可以獲取包含在響應消息頭中的元信息?!?/span>

2.GET 向特定的資源發(fā)出請求。注意:GET方法不應當被用于產(chǎn)生副作用的操作中,例如在web app.中。其中一個原因是GET可能會被網(wǎng)絡(luò)蜘蛛等隨意訪問?!?/span>

3.POST 向指定資源提交數(shù)據(jù)進行處理請求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改?!?/span>

4.PUT 向指定資源位置上傳其最新內(nèi)容。 

5.DELETE 請求服務(wù)器刪除Request-URI所標識的資源。


2.狀態(tài)碼

每一個HTTP響應報文都會帶回一個響應狀態(tài)碼。顧名思義,狀態(tài)碼就是反應此次請求的結(jié)果狀態(tài)。反應請求是否成功,或者要執(zhí)行其他動作。常見狀態(tài)碼有200,404,505

所有狀態(tài)碼詳細信息:http://baike.baidu.com/view/1790469.htm 


3.web頁面中可以包含多個對象

應用程序完成一項任務(wù)時通常會發(fā)布多個HTTP 事務(wù)。比如,Web 瀏覽器會發(fā)布一系列HTTP 事務(wù)來獲取并顯示一個包含了豐富圖片的Web 頁面。瀏覽器會執(zhí)行一個事務(wù)來獲取描述頁面布局的HTML“框架,然后發(fā)布另外的HTTP 事務(wù)來獲取每個嵌入式圖片、圖像面板、Java 小程序等 


五.報文


一個HTTP請求報文由請求行(request line)、請求頭部(header)和請求數(shù)據(jù)3個部分組成, HTTP有兩類報文:請求報文和響應報文。請求和響應報文顧名思義,一個是web客戶端發(fā)送請求時響應的HTTp 報文,一個是web服務(wù)器響應式響應的Http報文。其實他們的格式都是相同的。

我們以一個實際的看一下請求報文: 

                                   


是請求方法,GETPOST是最常見的HTTP方法,除此以外還包括DELETEHEAD、OPTIONS、PUT、TRACE。不過,當前的大多數(shù)瀏覽器只支持GETPOST,Spring 3.0提供了一個HiddenHttpMethodFilter,允許你通過“_method”的表單參數(shù)指定這些特殊的HTTP方法(實際上還是通過POST提交表單)。服務(wù)端配置了HiddenHttpMethodFilter后,Spring會根據(jù)_method參數(shù)指定的值模擬出相應的HTTP方法,這樣,就可以使用這些HTTP方法對處理方法進行映射了。 
為請求對應的URL地址,它和報文頭的Host屬性組成完整的請求URL,是協(xié)議名稱及版本號。 

①②③統(tǒng)稱為請求行
HTTP的報文頭,報文頭包含若干個屬性,格式為屬性名:屬性值,服務(wù)端據(jù)此獲取客戶端的信息。 
是報文體,它將一個頁面表單中的組件值通過param1=value1?m2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求參數(shù)的數(shù)據(jù)。不但報文體可以傳遞請求參數(shù),請求URL也可以通過類似于“/chapter15/user.html? param1=value1?m2=value2”的方式傳遞請求參數(shù)。 

六.連接

這里所說的連接其實就是TCP連接。HTTP報文就是通過TCP連接進行數(shù)據(jù)傳輸?shù)摹?/span>


1.TCP/IP

HTTP是應用層協(xié)議,他無需操心網(wǎng)絡(luò)通信的具體細節(jié),這些具體工作都交給了同用、可靠地因特網(wǎng)傳輸協(xié)議TCP/IP

從協(xié)議分層模型方面來講,TCP/IP由四個層次組成:網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應用層。 

因特網(wǎng)本身就是基于TCP/IP的。它隱藏了許多網(wǎng)絡(luò)傳輸過程中的弱點和各種網(wǎng)絡(luò)和硬件特點。使各種類型的計算機和網(wǎng)絡(luò)都能進行可靠地通信。只要簡歷的TCP連接??蛻舳撕头?wù)器端就能進行安全可靠地數(shù)據(jù)傳輸。用網(wǎng)絡(luò)術(shù)語來說,HTTP 協(xié)議位于 TCP 的上層。HTTP 使用 TCP 來傳輸其報文數(shù)據(jù)。與之類似,TCP 則位于 IP 的上層。


                                                                         


2.連接、IP地址和端口號

HTTP客戶端在向服務(wù)器發(fā)送報文之前首先要首先要用端口號和IP地址建立一個TCP/IP連接 。建立一個TCP連接就和一個小區(qū)的某戶人家寄信是一個樣的。小區(qū)的地址就相當于一個IP地址。我們知道他的地址在那個小區(qū)的哪個樓了。但我們不知道他的門牌號還是無法確定是哪一家的信。所以我們需要一個端口號即為門牌號去具體確定是哪一個服務(wù)

                                                             

七.Web的結(jié)構(gòu)部件

這里我們主要是先來了解幾個基本的概念


1.代理:位于客戶端和服務(wù)器之間的HTTP中間實體。他其實的作用就是接收HTTP請求。然后作為中間人在轉(zhuǎn)發(fā)出去。它有可能對請求做一些改變也可能原封不動的轉(zhuǎn)發(fā)出去。


2.緩存:HTTP的倉庫,使常用頁面的副本可以保存在離客戶端更近的地方。有了緩存之后可以加快HTTP請求的訪問速度。如果一個請求被請求過。再次請求的時候去緩存中找。這樣大大減小了服務(wù)器的壓力。


3.網(wǎng)關(guān):連接其他應用程序的特殊Web服務(wù)器。其實說白了,他就是一個轉(zhuǎn)換網(wǎng)絡(luò)協(xié)議的中間變量。假如它收到一個HTTP請求。這個可能訪問的資源可能需要用到FTP協(xié)議請求所需資源。這時就要用到網(wǎng)關(guān)


4隧道:對HTTP通信報文進行盲轉(zhuǎn)發(fā)的特殊代理。隧道(tunnel)是建立起來之后,就會在兩條連接之間對原始數(shù)據(jù)進行盲轉(zhuǎn)發(fā)的HTTP應用程序。HTTP隧道通常用來在一條或多條HTTP連接上轉(zhuǎn)發(fā)非HTTP數(shù)據(jù),轉(zhuǎn)發(fā)時不會窺探數(shù)據(jù)。 隧道這個概念我沒有理解很透徹,還有些疑惑。希望對這個理解透徹的朋友講解一下


5.Agent代理:發(fā)起自動HTTP請求的半智能Web客戶端。我們目前大多數(shù)發(fā)起HTTP請求的web客服端都是基于瀏覽器。Agent代理就是一個自動發(fā)送HTTP請求的工具


到目前為止,一些關(guān)于HTTP協(xié)議的基本概念簡單介紹完畢,在以后的文章中我還會細寫有關(guān)概念。敬請期待。




     昨晚讀《http權(quán)威指南》疑問,在將相對url轉(zhuǎn)為絕對url時,如果相對url沒有方案,主機,端口,參數(shù),查詢字符串等組件,那么它將繼承基礎(chǔ)的的相關(guān)組件……那么在我們平時的web開發(fā)中,在第一個頁面點擊一個鏈接傳的參數(shù)(查詢字符串),在鏈接頁面的request中,可以得到參數(shù)值那如果在鏈接的頁面中有一個相對url鏈接,點擊這個鏈接之后,是不是在這個鏈接頁面的request中也可以得到剛才傳的參數(shù)值?求各位大神幫忙解答。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    加勒比人妻精品一区二区| 欧美人与动牲交a精品| 欧美成人高清在线播放| 日本精品中文字幕在线视频| 亚洲视频一区自拍偷拍另类| 麻豆视频传媒入口在线看| 久久永久免费一区二区| 黑丝国产精品一区二区| 九九热精品视频免费在线播放| 亚洲一区二区三区熟女少妇| 丰满少妇被粗大猛烈进出视频| 国产日韩在线一二三区| 日韩美成人免费在线视频| 国产又大又硬又粗又黄| 国产又黄又爽又粗视频在线| 狠狠干狠狠操在线播放| 亚洲国产成人精品福利| 国产高清一区二区白浆| 国产精品免费自拍视频| 黄色国产精品一区二区三区| 欧美成人高清在线播放| 欧美日韩国内一区二区| 国产主播精品福利午夜二区| 国产精品内射视频免费| 少妇在线一区二区三区| 国产一区二区精品高清免费 | 中文字幕av诱惑一区二区| 精品人妻久久一品二品三品| 亚洲伦片免费偷拍一区| 一区二区三区日本高清| 特黄大片性高水多欧美一级| 日韩人妻有码一区二区| 免费观看日韩一级黄色大片| 高清亚洲精品中文字幕乱码| 日本黄色美女日本黄色| 中文字幕av诱惑一区二区| 麻豆tv传媒在线观看| 久久热麻豆国产精品视频| 黄片在线免费看日韩欧美| 午夜激情视频一区二区| 99视频精品免费视频播放|