先看一个常见的CGI输出的例子:
#!/usr/bin/perl
print"Content-type:text/htmlnn";
print"<HTML><BODY>";
print"<H1>xyz</H1>";
print"</BODY></HTML>";
当我们在提交一份表单按下提交的按钮时,通常都会切换到一个新的页面。所以要想提交后保留在原有页面的内容的话,惯用的方法是重新连接回刚才提交的URL,但是有时切换页面需要保存一些中间的数据,为编写代码带来很多麻烦,而且为WEB服务器带来不少负担; 所以有时我们并不希望切换页面,其实我们可以利用向浏览器发送一个204响应头令到不切换页面。
例子:
status204.html
<HTML><BODY>
<form method=post action=/cgi-bin/status204.cgi>
<input type=submit name=Submit value="TEST">
</form></BODY></HTML>
status204.cgi
#!/usr/bin/perl
open(WF,">xyz.txt");
print WF "TEST 2000";
close(WF);
print "Status: 204 No Content";
在浏览器上提交上述的CGI程序,页面不会有切换,检查一下 cgi-bin 目录,会发现新生成一个名为: xyz.txt 文件。