记录学习过程中的点点滴滴
WebServer

C++ Web编程
四 7th
C++ Web编程
译者 yaronli (http://www.yaronspace.cn/blog)
原文地址:http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm
什么是CGI
CGI( Common Gateway Interface ),公共网关接口是一组标准,该标准定义了在 web server和普通脚本间是如何交换信息的。
Web浏览 (Web browsing)
为了更好的理解CGI的概念,我们看看当用户为了访问某个页面或者url点击链接时所发生的事情:
- 你的浏览器联系到HTTP 服务器,然后请求对应的URL,即对应的文件;
- Web服务器会解析这个URL,然后查找对应文件名。如果找到这个文件,Web服务器就会返回文件的内容给浏览器,否则 的话会返回一条错误信息;
- Web 浏览器从Web服务器获得响应信息,然后解析返回的文件内容或者是错误信息;
但是,可以这样设置HTTP服务器,当一个文件被请求时,不是将文件内容返回,而是将它作为程序来执行,并将程序产生的输出返回给你的浏览器来显示。
公共网关接口(CGI)就是这样一种协议,它使应用程序(叫做CGI程序或者是CGI脚本)能够与Web服务器交互。CGI程序可以使用Python、perl、Shell、C或者C++来编写。
CGI的架构图
下图展现了CGI的简单架构:
Web服务器的配置
在你处理CGI程序之前,请确定你的Web服务器支持CGI程序并且它配置为支持能够处理CGI程序。所有的被HTTP服务器执行CGI程序都会预先配置在规定的目录,这个目录传统上被命名为/var/www/cgi-bin/,默认情况下cgi程序的扩展名为.cgi,尽管它们是C++可执行文件。
修改php文件的扩展名-apache配置
十一 10th
下面一行代码是apache配置的一个技巧,通过在自定义的.htaccess或者httpd.conf中添加一行就可以将xml文件作为php文件来解析。当然你也可以添加其他的扩展名文件来作为php文件来解析。当你想用到动态生成xml文件时就会用到下面的代码了
AddType application/x-httpd-php .php .xml
注意:不同的web server配置可能有稍有差别
利用apache的mod_deflate模块启用gzip页面压缩
十一 4th
前提知识:
利用Apache中的mod_gzip模块,我们可以利用gzip的压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端的浏览器。如果是纯文本的内容,效果非常明显,大约可以压缩到原来的30%-40%,使用户的浏览速度大大加快。
Gzip需要客户端浏览器支持,目前大部份浏览器都支持gzip,如IE,Netscape,Mozilla等,可以利用php中的预定义变量$_SERVER[‘HTTP_ACCEPT_ENCODING’]来判断客户端浏览器是否支持gzip。
配置方法:
修改http.conf的方法请参看:http://httpd.apache.org/docs/2.2/mod/mod_deflate.html 更多 >
近期评论