全部博文(69)
分类: C/C++
2011-05-24 01:32:22
验证可以直接发送数据到浏览器。
这部是用来验证服务器和浏览器之间的HTTP协议的工作原理以及流程的。
注:该源码在Ubuntu 9.04上编译通过,需要unp网站上的头文件和库。
编译运行。
sudo CGI 80 //80端口需要root权限
打开浏览器,访问127.0.0.1。
在终端中可以看到浏览器的请求信息:
---------------------------------------------
GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.0.17) Gecko/2010010604 Ubuntu/9.04 (jaunty) Firefox/3.0.17
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
---------------------------------------------
注意:在请求信息的末尾有两个空行,这是请求消息结束的标志。
而我的程序向端口,即是浏览器写入的内容如下:
---------------------------------------------
HTTP/1.1 200 OK
Date: Fri, 15 Jan 2010 15:56:41 GMT
-----------------------------------------------
中间也有一个空行,前面部分数据是给浏览器处理的,而后面的则是让浏览器呈现个用户的信息。很显然,我们的程序是将网页的源代码发送给了浏览器然后交给浏览器处理。