1、当获取Server端的资源时,假设会有很多资源,例如:图片、动画、声音、文字等,则,一次请求就可以把所有这些都得到吗?对于图片,在html文档中,我们可以看到,<img src = "/edeal/image/trespass.jpg">既然我们的html文本中仅仅包含了一个<img src = "/edeal/image/trespass.jpg">,那么图片本身是如何被Browser显示的,肯定是被传送到了Browser本地了,但是,这个传递是Browser如何发起的,又是如何结束的?2、Expire报头域
Expire是请求还是响应的报头域:应该是响应的报头域
响应时,响应报头域会设置Expire;但请求时,Browser如何使用Expire的?Browser请求时,请求还会到达Server嘛,还是说,直接在本地Browser就知道此请求不必发到Server啦?
请求时候,Browser到哪里去找到Expire信息?是Browser还是Server来验证此请求是否过期

解决方案 »

  1.   

    POST方法的响应是可缓存的。除非响应里有Cache-Control或者Expires头域指示其响应不可缓存。
    所以Expire应该是响应中指示缓存时间的域
    另外第一个问题,我的理解是第一次请求先取回页面html,然后浏览器在显示页面解析html时,再从服务器取回图片等
      

  2.   

     對於 HTTP 1.1這種協議 是對建立一個TCP連接後,對於每一個數據(圖片,動畫,文字等等)都要發起一個請求,然後服務器給予回應,將所需的資源發送到客戶端的瀏覽器中,當然這些都是放本地緩存的,然後當數據發送完畢時,關閉TCP連接。第二個問題不懂
      

  3.   


                   Enumeration e = request.getHeaderNames();
    while(e.hasMoreElements()){
    String h = (String) e.nextElement();
    String hvalue = request.getHeader(h);
    out.print("头名:"+h+"\t值:"+hvalue+"<br>");
    }上面代码获取所有的HTTP头,不同的浏览器不同的。
    有个名为If-Modified-Since的头,他会检测服务器资源有没有更新,如果更新返回新内容,没有的化直接调用本地浏览器缓存。直接一个网页的多个MINE类型的内容,好像只需要建立一次连接吧。和哥哥浏览器的机制有关。
      

  4.   

    至于一个网页的多个MINE类型的内容,好像只需要建立一次连接吧。和各个浏览器的机制有关。
      

  5.   

    我也看了对于某个特定的http请求
    GET /index.html HTTP/1.1
     Host: www.example.com
     HTTP/1.1 200 OK
     Date: Mon, 23 May 2005 22:38:34 GMT
     Server: Apache/1.3.3.7 (Unix)  (Red-Hat/Linux)
     Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
     Etag: "3f80f-1b6-3e1cb03b"
     Accept-Ranges: bytes
     Content-Length: 438
     Connection: close
     Content-Type: text/html; charset=UTF-8根据服务端响应,返回内容是有MIME类型限定的,可见不是一次返回所有,而是按MIME类型分次返回,还有如GET /images/logo.png HTTP/1.1