网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java初学问题实录(四).
.fixed 方法.
.一步一步学习midp2。0游戏编程(.
.Struts模块化编程经典实战教程(三.
.使用 Java 存储过程将更加简便.
.讲述Java初学者必须要了解的两个.
.Java 理论和实践:我必须对那些内.
.Struts中logic:iterate标记的使用.
.J2EE体系结构设计(1).
.避免这10项J2EE危机来确保JAVA项.
.基于Java技术的Web应用校验工具.
.Java动画中消除闪烁的两个绝招.
.J2ME与Web Service-KSOAP快速上手.
.Javascript实例教程(19) 使用HoT.
.JMS 1.1 通过统一的域简化了消息.
.Java学习之容易忽视的小问题.
.作为一个初学者如何开发第一个Be.
.EJB 3.0开发指南之组合主键的方法.
.品味Spring的魅力.
.Java技巧:Hello World Ant.

java网络蚂蚁的制作流程

发表日期:2008-1-5



  Java网络蚂蚁的制作流程


“网络蚂蚁”、Falshget 等许多多线程下载软件都是网友的必备工具,利用这些工具可以快速从服务器上下载比较大的文件,这些工具的工作特性是把服务器端的文件分成几个段,每个段分别、同时进行下载。编写这类程序,第一、必须对HTTP协议有较为充分的了解;第二、有效使用多线程编程手段在软件上实现。

HTTP 协议的简介

HTTP协议是一种超文本传输协议(Hypertext Transfer Protocol),工作于网络应用层,自1990年起广泛应用于WWW 的全球信息服务,HTTP协议的具体说明可以在网上查阅RFC2518、RFC2616等文档。

HTTP状态码

HTTP状态码格式是 HTTP/版本信息的数字表示。状态码例子如下:

HTTP/1.0 200 OK // 表示服务器支持HTTP/1.0 协议,成功

HTTP/1.1 200 OK // 表示服务器支持HTTP/1.1 协议,成功

HTTP/1.0 404 Not Found // 表示服务器支持HTTP/1.0 协议,访问文件没有找到

在程序中间,假如读到“HTTP/1.1 200 OK”这样的字符串,表明欲下载文件存在、该服务器支持断点续传,可以使用多线程下载。假如读到“HTTP/1.0 200 OK”这样的字符串,表明欲下载文件存在、但该服务器不支持断点续传,只可以使用单线程下载。


读取重要的响应标题,获得要下载文档的文件长度

假如HTTP状态码表明访问成功,服务器会回送一些标题行,我们最关注的是Content-Length 这一行,比如,假如服务器回送“Content-Length:1000”,表明请求文件的长度是1000字节,所以读取这一行信息,可以得到文件的长度信息:

例如:GET /down.zip HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-
Excel, application/msWord, application/vnd.ms-Powerpoint, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Connection: Keep-Alive

200
Content-Length=106786028
Accept-Ranges=bytes
Date=Mon, 30 Apr 2001 12:56:11 GMT
ETag=W/"02ca57e173c11:95b"
Content-Type=application/octet-stream
Server=Microsoft-IIS/5.0
Last-Modified=Mon, 30 Apr 2001 12:56:11 GMT
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。所以在客户端浏览器传给
Web服务器的时候要多加一条信息--从哪里开始。
下面是用自己编的一个"浏览器"来传递请求信息给Web服务器,要求从2000070字节开始。
GET /down.zip HTTP/1.0
User-Agent: NetFox
RANGE: bytes=2000070-
Accept: text/Html, image/gif, image/jpeg, *; q=.2, */*; q=.2


仔细看一下就会发现多了一行RANGE: bytes=2000070-
这一行的意思就是告诉服务器down.zip这个文件从2000070字节开始传,前面的字节不用传了。
服务器收到这个请求以后,返回的信息如下:
206
Content-Length=106786028
Content-Range=bytes 2000070-106786027/106786028
Date=Mon, 30 Apr 2001 12:55:20 GMT
ETag=W/"02ca57e173c11:95b"
Content-Type=application/octet-stream
Server=Microsoft-IIS/5.0
Last-Modified=Mon, 30 Apr 2001 12:55:20 GMT


和前面服务器返回的信息比较一下,就会发现增加了一行:
Content-Range=bytes 2000070-106786027/106786028
返回的代码也改为206了,而不再是200了。
上一篇:Java下XML编程接口比较:DOM SAX JDOM JAXP 人气:770
下一篇:Java网络加载协议(JNLP)及Java Web Start 人气:920
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐