http与cgi的小测试之GET

在网络领域中,HTTP应用是最广的,技术分类也特别细。但我本人没有从事以HTTP为基础的互联网业务,很是遗憾。快哭了

因为项目的要求,在小设备上做一个WEB配置。

使用的是lighttpd+cgi的方式。下面是我的一个小小的测试过程.

1.测试环境。

服务器:ubuntu+lighttpd+bash+lua

客户端:firefox + httpRequester


lighttpd上配置*.cgi的文件由lua来处理。*.sh的文件由bash来处理。

cgi.assign = (
        ".cgi" => "/usr/bin/lua",
        ".sh" => "/bin/sh",
)


我自己写了一个my.cgi和my.sh

两个文件都是把全局变量保存到日志中,输出当前时间。

#my.sh
export > my.sh.export

echo "my.sh `date`"

#my.cgi
print("time: " .. os.date());
os.execute("export >my.cgi.export");


2测试过程

在firefox上使用httpRequester来请求(GET方式)WEB服务器上的my.cgi,my.sh

查看my.sh.export,my,cgi.export的内容。

my.sh.export的内容
xport CONTENT_LENGTH='0'
export DOCUMENT_ROOT='/home/abloomy/lua/lighttpd/www//pages/'
export GATEWAY_INTERFACE='CGI/1.1'
export HTTP_ACCEPT='*/*'
export HTTP_ACCEPT_ENCODING='gzip, deflate'
export HTTP_ACCEPT_LANGUAGE='zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'
export HTTP_CONNECTION='keep-alive'
export HTTP_DNT='1'
export HTTP_FOO='foo'
export HTTP_HOST='172.16.25.33:8088'
export HTTP_USER_AGENT='Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0'
export PWD='/home/abloomy/lua/lighttpd/www/pages'
export QUERY_STRING=''
export REDIRECT_STATUS='200'
export REMOTE_ADDR='172.16.25.218'
export REMOTE_PORT='59513'
export REQUEST_METHOD='GET'
export REQUEST_URI='/my.sh'
export SCRIPT_FILENAME='/home/abloomy/lua/lighttpd/www//pages/my.sh'
export SCRIPT_NAME='/my.sh'
export SERVER_ADDR='172.16.25.33'
export SERVER_NAME='www.aabbcc.com'
export SERVER_PORT='8088'
export SERVER_PROTOCOL='HTTP/1.1'
export SERVER_SOFTWARE='Apache 1.3.29'
export SETENV='setenv'
export TRAC_ENV='tracenv'

my.cgi.export

export CONTENT_LENGTH='0'
export DOCUMENT_ROOT='/home/abloomy/lua/lighttpd/www//pages/'
export GATEWAY_INTERFACE='CGI/1.1'
export HTTP_ACCEPT='*/*'
export HTTP_ACCEPT_ENCODING='gzip, deflate'
export HTTP_ACCEPT_LANGUAGE='zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'
export HTTP_CONNECTION='keep-alive'
export HTTP_DNT='1'
export HTTP_FOO='foo'
export HTTP_HOST='172.16.25.33:8088'
export HTTP_USER_AGENT='Mozilla/5.0 (Windows NT 6.1; rv:55.0) Gecko/20100101 Firefox/55.0'
export PWD='/home/abloomy/lua/lighttpd/www/pages'
export QUERY_STRING=''
export REDIRECT_STATUS='200'
export REMOTE_ADDR='172.16.25.218'
export REMOTE_PORT='59301'
export REQUEST_METHOD='GET'
export REQUEST_URI='/my.cgi'
export SCRIPT_FILENAME='/home/abloomy/lua/lighttpd/www//pages/my.cgi'
export SCRIPT_NAME='/my.cgi'
export SERVER_ADDR='172.16.25.33'
export SERVER_NAME='www.aabbcc.com'
export SERVER_PORT='8088'
export SERVER_PROTOCOL='HTTP/1.1'
export SERVER_SOFTWARE='Apache 1.3.29'
export SETENV='setenv'
export TRAC_ENV='tracenv'


export QUERY_STRING=''"是我们最关心的。

例如:我们请求的url:http://172.16.25.33:8088/my.sh?name=jett&age=3

export QUERY_STRING='name=jett&age=3'
这就是用户进行get时,提交的参数。服务根据这些参数进行不同的处理。






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值