小项目心得体会.对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.
有时候程序语言太高级了,将会使我们知道的更少啊...
订做服务器平台的过程还是比较顺利的,其实就是开发些服务器接口,例如定义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.
有时候程序语言太高级了,将会使我们知道的更少啊...
相关文章推荐
- HTTP协议相关内容及web通信原理的理解
- HTTP协议理解与应用总结
- 转载--HTTP协议的详细理解
- 如何理解HTTP协议的 “无连接,无状态” 特点?
- 项目管理心得:一个项目经理的个人体会、经验总结
- HTTP协议分析系列(二)------HTTP请求信息和相应信息的格式
- Java系列-Socket网络编程,TCP/IP和Http等网络协议理解
- 项目管理心得:一个项目经理的个人体会、经验总结
- 理解HTTP协议的Request/Response(请求响应)模型
- Http协议与TCP协议简单理解
- 持续一年之久的项目终于结项啦!总结一下这一年来的心得体会!
- HTTP协议 - 协议格式
- 公司项目须知和自己在工作上的心得体会
- 通信协议——Http、TCP、UDP(个人理解)
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结
- 对于http协议深入理解---1
- HTTP协议格式
- 全面理解HTTP协议