您的位置:首页 > 理论基础 > 计算机网络

小项目心得体会.对HTTP协议格式更深的理解.

2007-09-15 12:39 337 查看
这两天做了一个小项目,其实就是订做一个服务器平台.因为对方要求速度快和基于windows平台,且只能实现他们需要的功能,根据自己的知识,当然汇编是最好的选择.

订做服务器平台的过程还是比较顺利的,其实就是开发些服务器接口,例如定义now函数等等,供基于这个平台的程序使用;然后就是服务器平台内核函数,如创建,传递和销毁Request等;最后就是它的管理GUI,做的过程中遇到一个问题,就是输出到客户端的时候,浏览器总是显示一个下载对话框,让用户另存.显然,这不是我想要的结果.根据在java平台上的服务器程序开发经验,这是因为服务器返回的文件头的问题,java的API是比较高层的,对于HTTP协议的具体传输格式我们并不清楚,因为它对我们透明了,我们只知道有个header,body,仅此而已.

然后用汇编写了一个程序去测试本地http://localhost:8080/,服务器的返回结果:

HTTP/1.1 200 HTTP 200 c8

Server Apache-Coyote/1.1

Content-Type text/html;charset=GB2312

Transfer-Encoding chunked

Date Sat, 15 Sep 2007 04:23:27 GMT

<html>

<body>

.....

</body>

</html>

原来它们是一起传过来的,而我们从浏览器的查看源代码是看不到文件头的,用java的HttpURLConnection类去读这个地址的InputStream也只有从<html>开始的内容,而只有用getHeader等方法才能到文件头,所以从java是无法知道传输格式,而汇编较底层,当然,格式一目了然.

然后在网上查了一下资料,服务器的响应格式就像上面一样,文件头在前面,然后空一行,后面就是文件的body.

有时候程序语言太高级了,将会使我们知道的更少啊...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: