青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-80  評論-22  文章-0  trackbacks-0

要很好地領會Ajax技術的關鍵是了解超文本傳輸協議(HTTP),該協議用來傳輸網頁、圖像以及因特網上在瀏覽器與服務器間傳輸的其他類型文件。只要你在瀏覽器上輸入一個URL,最前面的http://就表示使用HTTP來訪問指定位置的信息。 (大部分瀏覽器還支持其他一些不同的協議,其中FTP就是一個典型例子。)

  注意:本文中只涉及HTTP協議,這是Ajax開發人員關心的方面,它可作為HTTP的參考手冊或指南。

  HTTP由兩部分組成:請求和響應。當你在Web瀏覽器中輸入一個URL時,瀏覽器將根據你的要求創建并發送請求,該請求包含所輸入的URL以及一些與瀏覽器本身相關的信息。當服務器收到這個請求時將返回一個響應,該響應包括與該請求相關的信息以及位于指定URL(如果有的話)的數據。直到瀏覽器解析該響應并顯示出網頁(或其他資源)為止。

  HTTP請求

  HTTP請求的格式如下所示:

<request-line>
<headers>
<blank line>
[<request-body>]
 


  在HTTP請求中,第一行必須是一個請求行(request line),用來說明請求類型、要訪問的資源以及使用的HTTP版本。緊接著是一個首部(header)小節,用來說明服務器要使用的附加信息。在首部之后是一個空行,再此之后可以添加任意的其他數據[稱之為主體(body)]。

  在HTTP中,定義了大量的請求類型,不過Ajax開發人員關心的只有GET請求和POST請求。只要在Web瀏覽器上輸入一個URL,瀏覽器就將基于該URL向服務器發送一個GET請求,以告訴服務器獲取并返回什么資源。對于www.wrox.com的GET請求如下所示:

GET / HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive
 


  請求行的第一部分說明了該請求是GET請求。該行的第二部分是一個斜杠(/),用來說明請求的是該域名的根目錄。該行的最后一部分說明使用的是HTTP 1.1版本(另一個可選項是1.0)。那么請求發到哪里去呢?這就是第二行的內容。

  第2行是請求的第一個首部,HOST。首部HOST將指出請求的目的地。結合HOST和上一行中的斜杠(/),可以通知服務器請求的是www.wrox.com/(HTTP 1.1才需要使用首部HOST,而原來的1.0版本則不需要使用)。第三行中包含的是首部User-Agent,服務器端和客戶端腳本都能夠訪問它,它是瀏覽器類型檢測邏輯的重要基礎。該信息由你使用的瀏覽器來定義(在本例中是Firefox 1.0.1),并且在每個請求中將自動發送。最后一行是首部Connection,通常將瀏覽器操作設置為Keep-Alive(當然也可以設置為其他值,但這已經超出了本書討論的范圍)。注意,在最后一個首部之后有一個空行。即使不存在請求主體,這個空行也是必需的。

  如果要獲取一個諸如http://www.wrox.com/bookswww.wrox.com域內的頁面,那么該請求可能類似于:

GET /books/ HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive
 


  注意只有第一行的內容發生了變化,它只包含URL中www.wrox.com后面的部分。

  要發送GET請求的參數,則必須將這些額外的信息附在URL本身的后面。其格式類似于:

URL ? name1=value1&name2=value2&..&nameN=valueN
 


  該信息稱之為查詢字符串(query string),它將會復制在HTTP請求的請求行中,如下所示:

GET /books/?name=Professional%20Ajax HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive
 


  注意,為了將文本“Professional Ajax”作為URL的參數,需要編碼處理其內容,將空格替換成%20,這稱為URL編碼(URL encoding),常用于HTTP的許多地方(JavaScript提供了內建的函數來處理URL編碼和解碼,這些將在本章中的后續部分中說明)。“名稱—值”(name—value)對用 & 隔開。絕大部分的服務器端技術能夠自動對請求主體進行解碼,并為這些值的訪問提供一些邏輯方式。當然,如何使用這些數據還是由服務器決定的。

  瀏覽器發送的首部,通常比本文中所討論的要多得多。為了簡單起見,這里的例子盡可能簡短。


  另一方面,POST請求在請求主體中為服務器提供了一些附加的信息。通常,當填寫一個在線表單并提交它時,這些填入的數據將以POST請求的方式發送給服務器。

  以下就是一個典型的POST請求:

POST / HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley
 


  從上面可以發現, POST請求和GET請求之間有一些區別。首先,請求行開始處的GET改為了POST,以表示不同的請求類型。你會發現首部Host和User-Agent仍然存在,在后面有兩個新行。其中首部Content-Type說明了請求主體的內容是如何編碼的。瀏覽器始終以application/ x-www-form- urlencoded的格式編碼來傳送數據,這是針對簡單URL編碼的MIME類型。首部Content-Length說明了請求主體的字節數。在首部Connection后是一個空行,再后面就是請求主體。與大多數瀏覽器的POST請求一樣,這是以簡單的“名稱—值”對的形式給出的,其中name是Professional Ajax,publisher是Wiley。你可以以同樣的格式來組織URL的查詢字符串參數。

  正如前面所提到的,還有其他的HTTP請求類型,它們遵從的基本格式與GET請求和POST請求相同。下一步我們來看看服務器將對HTTP請求發送什么響應。

  HTTP響應

  如下所示,HTTP響應的格式與請求的格式十分類似:

<status-line>
<headers>
<blank line>
[<response-body>]
 


  正如你所見,在響應中唯一真正的區別在于第一行中用狀態信息代替了請求信息。狀態行(status line)通過提供一個狀態碼來說明所請求的資源情況。以下就是一個HTTP響應的例子:

HTTP/1.1 200 OK
Date: Sat, 31 Dec 2005 23:59:59 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 122

<html>
<head>
<title>Wrox Homepage</title>
</head>
<body>
<!-- body goes here -->
</body>
</html>
 


  在本例中,狀態行給出的HTTP狀態代碼是200,以及消息OK。狀態行始終包含的是狀態碼和相應的簡短消息,以避免混亂。最常用的狀態碼有:

  ◆200 (OK): 找到了該資源,并且一切正常。

  ◆304 (NOT MODIFIED): 該資源在上次請求之后沒有任何修改。這通常用于瀏覽器的緩存機制。

  ◆ 401 (UNAUTHORIZED): 客戶端無權訪問該資源。這通常會使得瀏覽器要求用戶輸入用戶名和密碼,以登錄到服務器。

  ◆403 (FORBIDDEN): 客戶端未能獲得授權。這通常是在401之后輸入了不正確的用戶名或密碼。

  ◆404 (NOT FOUND): 在指定的位置不存在所申請的資源。

  在狀態行之后是一些首部。通常,服務器會返回一個名為Data的首部,用來說明響應生成的日期和時間(服務器通常還會返回一些關于其自身的信息,盡管并非是必需的)。接下來的兩個首部大家應該熟悉,就是與POST請求中一樣的Content-Type和Content-Length。在本例中,首部Content-Type指定了MIME類型HTML(text/html),其編碼類型是ISO-8859-1(這是針對美國英語資源的編碼標準)。響應主體所包含的就是所請求資源的HTML源文件(盡管還可能包含純文本或其他資源類型的二進制數據)。瀏覽器將把這些數據顯示給用戶。

  注意,這里并沒有指明針對該響應的請求類型,不過這對于服務器并不重要。客戶端知道每種類型的請求將返回什么類型的數據,并決定如何使用這些數據。 


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yourdecision/archive/2008/05/30/2497325.aspx

posted on 2009-07-18 17:52 Bluesea 閱讀(1621) 評論(0)  編輯 收藏 引用 所屬分類: Web

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久天天躁狠狠躁夜夜爽蜜月| 亚洲国产欧美久久| 欧美视频日韩视频在线观看| 亚洲专区一区| 日韩一级精品| 亚洲观看高清完整版在线观看| 羞羞色国产精品| 正在播放欧美视频| 夜夜躁日日躁狠狠久久88av| 亚洲黑丝在线| 亚洲激情另类| 在线观看福利一区| 亚洲人成网站在线观看播放| 一区免费观看视频| 国产精品资源| 国产伦精品一区二区三区视频孕妇| 久久婷婷久久| 美女黄色成人网| 欧美国产极速在线| 欧美精品免费看| 欧美日韩视频在线第一区| 欧美午夜大胆人体| 欧美视频在线观看 亚洲欧| 性欧美1819性猛交| 久久久亚洲精品一区二区三区| 浪潮色综合久久天堂| 欧美激情影院| 日韩五码在线| 国产精品红桃| 久久精品国产999大香线蕉| 在线综合亚洲| 久久成人18免费观看| 久久青青草综合| 国产精品高清在线观看| 激情亚洲网站| 亚洲自拍另类| 欧美黄色大片网站| 欧美一区二区三区四区高清| 欧美成人午夜激情| 国产亚洲欧美另类中文| 99热免费精品| 欧美成人免费在线观看| 亚洲欧美中文另类| 欧美日韩一二三四五区| 精东粉嫩av免费一区二区三区| 亚洲人成欧美中文字幕| 久久黄色级2电影| 亚洲免费av片| 欧美顶级艳妇交换群宴| 国产午夜亚洲精品理论片色戒| 国产亚洲女人久久久久毛片| 亚洲理伦电影| 亚洲欧美日韩精品久久久| 亚洲午夜精品网| 欧美国产激情| 欧美一区二区三区精品| 欧美高潮视频| 国产女优一区| 亚洲特级片在线| 嫩模写真一区二区三区三州| 国产精品专区一| 亚洲国产午夜| 亚洲国产精品ⅴa在线观看 | 欧美精品综合| 欧美日韩三级电影在线| 亚洲国产经典视频| 亚洲精品中文字幕在线观看| 久久精品亚洲热| 欧美国产亚洲另类动漫| 影音先锋中文字幕一区二区| 亚洲日本成人| 亚洲第一中文字幕在线观看| 亚洲一区自拍| 久久理论片午夜琪琪电影网| 国产一区二区三区高清在线观看 | 激情婷婷久久| 一本色道久久99精品综合| 欧美韩国日本一区| 亚洲小说春色综合另类电影| 久久在线免费视频| 欧美一区二区私人影院日本| 久久国产精品久久w女人spa| 免费短视频成人日韩| 亚洲狼人综合| 久久久久看片| 国产精品亚洲人在线观看| 性色av香蕉一区二区| 依依成人综合视频| 亚洲欧美经典视频| 欧美一区午夜精品| 国产精品成人免费| 久久国产99| 一区二区三区欧美激情| 亚洲天堂激情| 国产一区日韩一区| 午夜精品久久久久久99热| 久久成人18免费观看| 国产精品久久综合| 米奇777超碰欧美日韩亚洲| 西西人体一区二区| 国产精品区一区| 亚洲午夜羞羞片| 欧美性一二三区| 欧美亚洲一级| 韩国精品一区二区三区| 亚洲国产精品成人| 久久久777| 一区二区精品| 亚洲欧洲日韩女同| 国产日产欧美一区| 午夜在线视频观看日韩17c| 亚洲国产精品悠悠久久琪琪| 亚洲日韩欧美视频一区| 裸体丰满少妇做受久久99精品| 99国内精品久久久久久久软件| 久久精品综合一区| 欧美日一区二区三区在线观看国产免| 91久久久亚洲精品| 亚洲特级片在线| 日韩视频在线一区二区三区| 亚洲高清视频一区| 狠狠88综合久久久久综合网| 久久久噜噜噜久久狠狠50岁| 国产精品极品美女粉嫩高清在线| 中文欧美在线视频| 欧美国产极速在线| 亚洲永久网站| 国产主播一区二区三区四区| 亚洲视频一区二区在线观看| 国产精品任我爽爆在线播放| 亚洲美女诱惑| 国产伦精品一区二区三区高清版| 999亚洲国产精| 国产欧美一区二区三区久久| 亚洲天堂男人| 一区二区三区在线观看国产| 欧美一区亚洲| 亚洲人屁股眼子交8| 欧美va亚洲va香蕉在线| 亚洲乱码久久| 极品日韩av| 最近中文字幕日韩精品| 国产亚洲欧美日韩日本| 老司机精品导航| 欧美在线视频播放| 亚洲欧美日韩区| 亚洲视频免费| 亚洲精品免费在线观看| 夜夜爽夜夜爽精品视频| 夜夜爽www精品| 亚洲大胆女人| 国产亚洲精品高潮| 开心色5月久久精品| 在线一区二区三区做爰视频网站| 亚洲小视频在线| 久久全国免费视频| 亚洲影院色无极综合| 久久久久久久97| 一区二区三区高清在线| 性色一区二区三区| 亚洲精品婷婷| 久久精品国产成人| 亚洲手机在线| 一区二区三区免费观看| 国内精品久久久久国产盗摄免费观看完整版 | 亚洲综合成人在线| 国产有码一区二区| 亚洲巨乳在线| 久久亚洲一区二区| 精品福利电影| 欧美日韩一卡二卡| 免费久久精品视频| 国产精品日本| 99国产精品| 亚洲人精品午夜在线观看| 亚洲午夜女主播在线直播| 亚洲国产高清视频| 99精品福利视频| 狂野欧美激情性xxxx欧美| 欧美三级中文字幕在线观看| 久久五月激情| 国产精品你懂的在线欣赏| 亚洲福利av| 欲色影视综合吧| 欧美在线一二三| 亚洲欧美色一区| 欧美日韩精品一区| 亚洲国产一区二区三区高清| 亚洲第一网站免费视频| 久久精品视频网| 一区精品在线| 六月婷婷一区| 国产真实精品久久二三区| 亚洲一本大道在线| 国产精品免费小视频| 亚洲网址在线| 亚洲国产另类精品专区| 久久久久综合| 一区二区三区精品久久久| 久久综合久久久久88|