隨筆 - 9  文章 - 21  trackbacks - 0
          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          常用鏈接

          留言簿(1)

          隨筆分類(9)

          隨筆檔案(9)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          HTTP

          HTTP就是一種請(qǐng)求/響應(yīng)模式。

          HTTP事務(wù)

          1. 連接 建立和服務(wù)器的連接
          2. 查詢 請(qǐng)求服務(wù)器上的資源
          3. 處理 服務(wù)器接受和處理請(qǐng)求
          4. 響應(yīng) 服務(wù)器將請(qǐng)求的資源發(fā)送回客戶端
          5. 終止 事務(wù)完成后,關(guān)閉連接,除非客戶機(jī)與服務(wù)器之間立即發(fā)生另一事務(wù)。

          用telnet程序驗(yàn)證這個(gè)過(guò)程

          連接

          telnet www.baidu.com 80

          80是HTTP協(xié)議默認(rèn)的端口。

          查詢

          GET / HTTP/1.0↙

          ↙表示回車。

          GET / HTTP/1.0
          查詢方法名,有GET和POST
          GET方法不支持消息體
          服務(wù)器資源 HTTP版本

          在telnet中測(cè)試HTTP的POST是很麻煩的事。這里就不講了,何況GET和POST很類似。

          處理

          Baidu服務(wù)器根據(jù)請(qǐng)求,處理請(qǐng)求。如果用的是Servlet,就是執(zhí)行那個(gè)Servlet的doGet方法。

          響應(yīng)



          HTTP/1.1 200 OK
          Date: Sun, 03 Feb 2008 08:08:44 GMT
          Server: BWS/1.0
          Content-Length: 3022
          Content-Type: text/html
          Cache-Control: private
          Expires: Sun, 03 Feb 2008 08:08:44 GMT
          Set-Cookie: BAIDUID=2BB1B837C8EC6794A132C5D8DDD76721:FG=1; expires=Sun, 03-Feb-38 08:08:44 GMT; path=/; domain=.baidu.com
          P3P: CP=" OTI DSP COR IVA OUR IND COM "

          <html><head><meta http-equiv=Content-Type content="text/html;charset=gb2312"><title>百度一下,你就知道 </title><style>body{margin:4px 0}p{margin:0;padding:0}img{border:0}td,p,#u{font-size:12px}#b,#u,#l td,a{font-family:arial}#kw{font:16px Verdana;height:1.78em;padding-top:2px}#b{height:30px;padding-top:4px}#b,#b a{color:#77c;font-size:12px}#u{padding-right:10px;line-height:19px;text-align:right;margin-bottom:3px !important;margin-bottom:10px}#sb{height:2em;width:5.6em}#km{height:50px}#km a{font-family:宋體}#l{margin-bottom:5px}#m{margin-left:100px;width:22.1em;text-align:center}p,#b,table{width:600px;border:0}#sb,#km,#l,#m{font-size:14px}#m a,#m b{margin-right:1.14em}a{color:#00c}a:active{color:#f60}</style></head>
          <body><div id=u></div><center><a href=http://hi.baidu.com/baidu target=_blank><img src=http://www.baidu.com/img/logo.gif width=174 height=59 alt="點(diǎn)此進(jìn)入 百度空間"></a><br><br><br><br><table cellpadding=0 cellspacing=0 id=l><tr><td align=left><div id=m><a onclick=s(this) href=http://news.baidu.com>新&nbsp;聞</a><b>網(wǎng)&nbsp;頁(yè)</b><a onclick=s(this) href=http://tieba.baidu.com>貼&nbsp;吧</a><a onclick=s(this) href=http://zhidao.baidu.com>知&nbsp;道</a><a onclick=s(this) href=http://mp3.baidu.com>MP3</a><a onclick=s(this) href=http://image.baidu.com>圖&nbsp;片</a></div></td></tr></table>
          <table cellpadding=0 cellspacing=0><tr valign=top><td width=92></td><td height=62 nowrap><form name=f action=/s><input type=text name=wd id=kw size=36 maxlength=100><script>var w=document.f.wd;w.focus();document.getElementById("u").innerHTML='<a ;function s(o){if(w.value.length>0){var h=o.href;var q=encodeURIComponent(w.value);if(h.indexOf("q=")!=-1){o.href=h.replace(new RegExp("q=[^&$]*"),"q="+q)}else{o.href+="?q="+q}}};(function(){if(new RegExp("q=([^&]+)").test(location.search)){w.value=decodeURIComponent(RegExp.$1)}})()</script><input type=hidden name=cl value=3> <input type=submit value=百度一下 id=sb><br><br></form></td><td width=100><a href=/search/jiqiao.html>幫助</a><br><a href=/gaoji/advanced.html>高級(jí)</a></td></tr></table>
          <p id=km>&nbsp;<a href=http://hi.baidu.com>空間</a>&nbsp;|&nbsp;<a href=http://www.baidu.com/more>更多>></a></p>
          <p style=height:60px></p>
          <p style=height:30px><a onClick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.baidu.com')" href=http://utility.baidu.com/traf/click.php?id=215&url=http://www.baidu.com>把百度設(shè)為首頁(yè)</a></p><p style=height:14px><a href=http://jingjia.baidu.com>企業(yè)推廣</a> | <a href=http://top.baidu.com>搜索風(fēng)云榜</a> | <a href=/home.html>關(guān)于百度</a> | <a href=http://ir.baidu.com>About Baidu</a></p><p id=b>&copy;2008 Baidu <a href=http://www.baidu.com/duty>使用百度前必讀</a> <a href=http://www.miibeian.gov.cn target=_blank>京ICP證030173號(hào)</a> <a href=http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001092500412><img src=http://gimg.baidu.com/img/gs.gif></a></p></center></body></html><!--4eca38de351397c2-->

          失去了跟主機(jī)的連接。

          終止

          用telnet連接web服務(wù)器,連接會(huì)立馬終止。如果用瀏覽器訪問,瀏覽器會(huì)取得與頁(yè)面有關(guān)的所有圖像、樣式表和腳本文件等,才終止連接。

          HTTP查詢和響應(yīng)的消息格式

          HTTP查詢和響應(yīng)的消息格式差不多。

          格式
          initliaze line
          key1:value1
          key2:value2

          [Optional message body]
          查詢格式
          GET /newaddr?name=jack&email=2 HTTP/1.0
          accept:*/*
          accept-language:zh-cn
          ... ...


          響應(yīng)格式
          (具體見上面)
          HTTP/1.1 200 OK
          Date: Sun, 03 Feb 2008 08:08:44 GMT
          Server: BWS/1.0
          ... ...

          <html>...</html>

          后記

          HTTP定義了查詢和響應(yīng)的消息格式。但每個(gè)瀏覽器和服務(wù)器在這種格式下,有自己定義的內(nèi)容。服務(wù)器通過(guò)瀏覽器請(qǐng)求的消息,知道瀏覽器具體是什么型號(hào)的,是什么操作系統(tǒng)。這些具體怎么做的,下文分解

          posted on 2008-02-04 18:57 李四飛刀 閱讀(1798) 評(píng)論(0)  編輯  收藏 所屬分類: Struts2

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          相關(guān)文章:
           
          主站蜘蛛池模板: 阿勒泰市| 和龙市| 永丰县| 漾濞| 内江市| 安泽县| 渝中区| 台安县| 交城县| 南和县| 屏东县| 丰原市| 隆子县| 奎屯市| 白玉县| 漯河市| 修武县| 宝山区| 民和| 资源县| 清流县| 隆德县| 都江堰市| 克东县| 临武县| 定州市| 泌阳县| 青海省| 永修县| 水城县| 彭水| 温州市| 重庆市| 敦煌市| 新巴尔虎右旗| 岐山县| 珲春市| 农安县| 山阴县| 平顺县| 西吉县|