1、客户请求:

1)请求行

<HTTP方法><space><请求的URL><space><协议规范> 

方法包括:

GET-获取URL指定的WEB对象的内容

HEAD-仅从服务器处获取头部信息,而不是对象本身

POST-用于向服务器主机上的某进程发送数据

PUT-用于请求服务器保存请求附带的内容,数据保存在服务器上由URL指定的文件位置中。

2)请求头

具体的行格式为:

<关键字>:<值>

3)请求体

可选用请求体来结束请求,它包含需要量传送给与请求相关的服务器数据。

2、HTTP是基于文本的请求-应答协议

请求和应答都是字符串。每个请求和应答由三部分组成,顺序如下:

1)请求/应答行

2)头部

3)空白行

4)主体

3、效果

1)请求/应答行  -已经在程序中体现

2)头部

HTTP/1.1 200 OK
Date: Sun, 21 Dec 2008 11:33:41 GMT
Server: Apache/2.0.58 (Unix) PHP/4.4.2
Last-Modified: Fri, 19 Dec 2008 03:48:00 GMT
ETag: "c609"
Accept-Ranges: bytes
Content-Length: 50697
Cache-Control: max-age=259200
Expires: Wed, 24 Dec 2008 11:33:41 GMT
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

 

3)空白行

4)主体

<html><head><metahttp-equiv=Content-Type content='text/html;charset=gb2312'>
<style type=text/css>
<!--
 td,body {  font-size: 15px;font-family:arial,sans-serif,宋体;}body{margin-top:0px;margin-left:0px; margin-right:0px;background-color: #fcfff7}a:link{ color:#000000; text-decoration:none;padding-left:4px;}    a:visited{COLOR: #000000; TEXT-DECORATION: none;padding-left:4px;}a:active{color:green;text-decoration:none;padding-left:4px;}a:hover{color:red;text-decoration:underline;padding-left:4px;}
a.m:link{ color:#000000;text-decoration:none;padding-left:0px;}
a.m:visited{COLOR: #000000; TEXT-DECORATION:none;padding-left:0px;}
a.m:active{color:green;text-decoration:none;padding-left:0px;}
a.m:hover{color:red;text-decoration:underline;padding-left:0px;}
.t1{border-width:1px 1px 1px1px;border-style:solid;font-size:12px;text-align: center}
.bgg{border-color:#8AB78A; width:776px;}
.f9pt{font-size: 12px;}
#sfont a,#sfont b{font-size:13px;}
--> </style>

<title>hao123网址之家--小说</title>
<base target=_blank>
<scriptsrc="js/usertrack.js"></script>
</head>
<body><center>
<table left"><ahref=http://www.hao123.com target="_self"><img src=logo.gifalt="hao123网址之家 www.hao123.com" width=168 height=63100%"2"id=sfont> <a href=http://news.baidu.com>新&nbsp;闻</a>&nbsp;&nbsp;&nbsp;<b>网&nbsp;页</b>&nbsp;&nbsp;&nbsp;<a href=http://tieba.baidu.com>贴&nbsp;吧</a>&nbsp;&nbsp;&nbsp;<a href=http://zhidao.baidu.com>知&nbsp;道</a>&nbsp;&nbsp;&nbsp;<ahref=http://mp3.baidu.com>MP3</a>&nbsp;&nbsp;&nbsp;<ahref=http://image.baidu.com>图&nbsp;片</a>&nbsp;&nbsp;&nbsp;<ahref=http://video.baidu.com/>视&nbsp;频</a></td>
       </tr>
  <tr><tdheight="30" valign="top"> <inputtype=text name=wd size=39 onMouseOver=this.focus()onFocus=this.select() style="margin-bottom:-5px;font-size:16px;height:1.6em;font-family:arial,sans-serif,宋体;padding-top:2px;padding-left:1px" maxlength=100>
       &nbsp;<input type=submitstyle="height:1.9em;width:6.4em;font-size:14px; margin-bottom:-5px;padding-top:2px"value="百度一下"></td>
         <td width="80" valign="top"></td>
  </tr>
     
     </form></table></td>
</tr></table>
<table 3"bgcolor="7FD479"></td></tr><tralign=center>  <tdheight="1"bgcolor="3CB738"></td></tr></table>
<table width=778 height=25 bgcolor=#EEF7FF 50%" style="color:#424242">&nbsp;<ahref="http://www.hao123.com"onClick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.hao123.com/');return(false);"style="behavior:url(#default#homepage);"><imgsrc="http://www.hao123.com/images/home.gif"width="15" height="15" align="absmiddle">把hao123设为主页</a>  <ahref="http://utility.hao123.com/quality_form.php"><imgsrc="http://www.hao123.com/images/notebook.gif"width="15" height="15" align="absmiddle">网友留言</a></td>
  <td align="right" style="color:#424242;padding-right:10px"><a href="/" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target=_self style="color:#424242">首页</a>&gt; 小说</td>
 </tr></table>
<div id="C_UT">
<table width="100%" cellpadding="0"cellspacing="0">
  <trbgcolor=#D9EDDA>
   <td width="100%" height="20" align=center><fontcolor=#346F0E>小说阅读</font></td>
  </tr>
  <tr bgcolor="C5D5C5">
   <td ><tablewidth="100%"  cellspacing="1"cellpadding="5">
     <tr bgcolor="EFF7F0" >
       <td width="25%" ><Ahref=http://www.qidian.com/>起点中文网</a></td>
       <td width="25%" ><Ahref=http://www.readnovel.com/>小说阅读网</a></td>
       <td width="25%" ><ahref="http://www.hongxiu.com/">红袖添香</a></td>
       <td width="25%" ><ahref="http://www.2100book.com/">世纪文学</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><a href="http://www.jjwxc.net/">晋江原创网</a></td>
       <td ><Ahref=http://hjsm.tom.com/>幻剑书盟</a></td>
       <td ><a href="http://www.4yt.net/">四月天原创网</a></td>
       <td ><Ahref=http://www.bookge.com/>啃书网</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><Ahref=http://book.sina.com.cn/>新浪读书</a></td>
       <td ><ahref=http://www.xxsy.net/>潇湘书院</a></td>
       <td ><ahref=http://www.wansong.net/>万壑松风</a></td>
       <td ><Ahref=http://www.cuiweiju.com/>翠微居</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><ahref=http://www.fmx.cn/>凤鸣轩</a></td>
       <td ><a href="http://www.xs8.cn/">言情小说吧</a></td>
       <td ><Ahref=http://www.rongshuxia.com/>榕树下</a></td>
       <td ><a href="http://www.syzw.cn/">思源中文网</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><ahref=http://www.zhulang.com/>逐浪小说网</a></td>
       <td ><ahref=http://www.3320.net/>爬爬书库</a></td>
       <td ><a href="http://www.17k.com/">17K文学网</a></td>
       <td ><a href="http://www.booksky.org/">快眼看书</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><a href="http://book.qukanshu.com/"><fontcolor=red>看书小说网</font></a></td>
       <td ><ahref=http://www.oklink.net/index.shtm>白鹿书院</a></td>
       <td ><a href="http://www.duyidu.com/">小说读一读</a></td>
       <td ><a href="http://www.xhsd.net/">玄幻书殿</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><a href="http://www.junzitang.com/">君子堂</a></td>
       <td ><ahref=http://msn.hongxiu.com/><fontcolor=red>MSN小说频道</font></a></td>
       <td ><a href="http://www.fbook.net/">天下书盟</a></td>
       <td ><ahref=http://www.cc222.com/><fontcolor=red>烟雨红尘原创文学</font></a></td>
     </tr>

     <tr bgcolor="EFF7F0" >
       <td ><a href="http://www.lcread.com/">连城读书</a></td>
       <td bgcolor="EFF7F0"><a href="http://www.baimashuyuan.com/">白马书院</a></td>
       <td ><a href="http://www.myfreshnet.com/">鲜网</a></td>
       <td ><ahref=http://top.baidu.com/book.html>今日小说排行榜</a></td>
     </tr>
    
   </table></td>
   </tr>
<trbgcolor=#D9EDDA><td align=centerheight=20 ><fontcolor=#346F0E>电子书</font></td>
</tr>
<tr bgcolor="C5D5C5" >
  <td><tablewidth="100%"  cellspacing="1"cellpadding="5">
   <tr bgcolor="EFF7F0" >
     <td width="25%" ><ahref="http://www.txtbbs.com/">TXT论坛</a></td>
     <td width="25%" ><ahref="http://www.feiku.com/">飞库网</a></td>
     <td width="25%" ><ahref=http://book.sooyuu.com/>搜娱电子书</a></td>
     <td width="25%" ><ahref=http://www.52eshu.com/>我爱电子书</a></td>
   </tr>
   <tr bgcolor="EFF7F0" >
   <td><a href="http://bbs.91txt.com/">金沙电子书论坛</a></td>     
     <td ><Ahref=http://book.hqdoor.com/>虹桥书吧</A></td>
   <td><Ahref=http://www.txtxz.com/>非凡txt电子书论坛</A> </td>
     <td> </td>
   </tr>
 </table></td>
  </tr>
  <trbgcolor="#D9EDDA"><td height="20"align=center ><fontcolor=#346F0E>文化文学</font></td>
</tr>
  <tr bgcolor="C5D5C5">
   <td ><tablewidth="100%"  cellspacing="1"cellpadding="5">
     <tr bgcolor="EFF7F0" >
       <td width="25%" ><ahref="http://book.qq.com/">腾讯读书</a></td>
       <td width="25%" ><ahref=http://book.sohu.com/>搜狐读书</a></td>
       <td width="25%"><ahref=http://www.baidu.com/search/guoxue/dir/fenlei.html>百度国学</a></td>
       <td width="25%" ><ahref="http://wind.yinsha.com/">且听风吟</a></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><a href="http://www.mengya.com/">萌芽</a></td>
       <td ><a href="http://www.storychina.cn/">故事会</a></td>
       <td ><a href="http://www.shigeku.org/">诗歌库</a></td>
       <td ><ahref=http://literary.goodmood.com.cn/>好心情美文站</A></td>
     </tr>
     <tr bgcolor="EFF7F0" >
       <td ><a href="http://www.nlc.gov.cn/">国家图书馆</a></td>
        <td ><a href="http://www.qnwz.cn/">青年文摘</a></td>
       <td ><ahref=http://wenxue.xilu.com/>西陆文学</a></td>
       <td ><a href="http://www.duzhe.com/">读者</a></td>
     </tr>
  
   </table></td>
   </tr>
<trbgcolor=#D9EDDA><td align=centerheight=20 ><fontcolor=#346F0E>文学论坛</font></td>
</tr>
<tr bgcolor="C5D5C5" >
  <td><tablewidth="100%"  cellspacing="1"cellpadding="5">
   <tr bgcolor="EFF7F0" >
     <td width="25%" ><ahref="http://bbs.wbzd.net/">我不知道中文论坛</a></td>
     <td width="25%" ><ahref=http://book.sina.com.cn/bbs/>新浪读书论坛</a></td>
     <td width="25%" ><ahref=http://tieba.baidu.com/f?kw=小说>百度小说吧</a></td>
     <td width="25%" ><ahref=http://club.book.sohu.com/>读书社区-搜狐</a></td>
   </tr>
   <tr bgcolor="EFF7F0" >
     <td ><a href="http://www.douban.com/book/">豆瓣读书-书评</a></td>
   <td><a href="http://www.kenshuw.com/">啃书论坛</a></td>
     <td ><ahref=http://bbs.hongxiu.com/>红袖论坛</a></td>
   <td ></td>
   </tr>
 </table></td>
  </tr>
 
</table>
</div>


<p align=center><ahref="/" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target=_self><imgsrc=http://www.hao123.com/return.gif width=60 height=30 alt=返回本站首页小说")
document.form1.wd.focus()
//-->
</script>

4、代码

1)使用SOCKET

import java.io.*;
import java.net.*;


public class urltest1 {

 
 public static void main(String[] args) {
  // TODO Auto-generated methodstub
  try {
   Socket s=newSocket("www.hao123.com",80);
   BufferedReaderbr=new BufferedReader(newInputStreamReader(s.getInputStream()));
   BufferedWriterbw=new BufferedWriter(newOutputStreamWriter(s.getOutputStream()));
   bw.write("GEThttp://www.hao123.com/book.htmHTTP/1.0\r\n");
   bw.write("\r\n"); //输出空白行以表示请求行结束
     bw.flush();   

   Stringreadstr=br.readLine();
   while(readstr!=null){
    System.out.println(readstr);
    readstr=br.readLine();    
   }
   br.close();
   bw.close();
   s.close();   
  } catch (UnknownHostExceptione) {
   // TODOAuto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODOAuto-generated catch block
   e.printStackTrace();
  }
2)使用URL类,这个程序经调试通过    

import java.io.*;
import java.net.*;


public class urltest1 {

 
 public static void main(String[] args) {
  // TODO Auto-generated methodstub
  try {
   URL myurl=newURL("http://www.hao123.com");
   
   BufferedReaderbr=new BufferedReader(newInputStreamReader(myurl.openStream()));

   Stringreadstr=br.readLine();
   while(readstr!=null){
    System.out.println(readstr);
    readstr=br.readLine();    
   }
   br.close();
  
  } catch (UnknownHostExceptione) {
   // TODOAuto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODOAuto-generated catch block
   e.printStackTrace();
  }
    
  

 }

}

  

 }

}