高级CGI

作者: 小小小小小台 | 来源:发表于2017-12-17 23:55 被阅读0次

个人理解:

简单的web服务器相当于把对应的html文件通过客户端访问的形式给到用户,但是在web的发展过程中,用户希望通过向服务器发送信息,服务器处理信息后返回相对应的网页给用户,这个时候web服务器需要通过CGI 调用CGI应用程序处理用户请求并返回相对应的信息。

简单的CGI 程序,和普通程序不一样,他们的数据不仅来自于计算机本身的硬盘,还来自于客户端的输入,在本例当中用户输入会通过cgi模块实例化FieldStorage对象来处理。

python环境下自建简易服务器:

命令:python -m CGIHTTPServer [port](默认端口号是8000)

搭建好后,通过浏览器即可访问,样子就像远程访问别人的电脑文件一样。

在相应文件夹下面部署该命令,在外部访问的时候就是访问该文件夹下面的文件一样

但是要注意的是,如果该文件不具备读和执行权限的话,客户端则无法正常调用该CGI程序

(在之前直接访问该目录下的python脚本的时候,浏览器直接下载该文件了。。。)


因为HTTP是无状态信息协议,所以从一个页面跳到另外一个页面的时候,如果第二个页面要用到前面一个页面的数据时,程序需要记录客户端传来的数据,存在变量里面,然后传递给下一个页面。这个功能也可以通过cookie的方式实现。

在程序初始化的时候,在http内容传输过程中向客户端发送一段  'Set-Cookie: CPP%s=%s; path=/'的请求,请求客户端存储相应内容

setCPPCookies方法

然后通过分析cookie获取信息

因为cookie传的时候是按照一定规则的,所以通过对环境变量中HTTP_COOKIE进行分析可获得cookie信息;主要操作包括分词、截取CPP之后的信息

get方法

在浏览器里可以看到

在服务器的应达头中含有set-cookie的数据

相关文章

  • 高级CGI

    个人理解: 简单的web服务器相当于把对应的html文件通过客户端访问的形式给到用户,但是在web的发展过程中,用...

  • 安全

    以CGI模式安装 CGI、FastCGI模式CGI是通用网关(Common Gateway Interface)接...

  • CGI,FAST CGI,PHP CGI,PHP FPM

    在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请求的是 index...

  • php 技术沉淀

    一、cgi/fast-cgi/php-fpm 1. cgi cgi,通用网关协议,它在职责、通信方式、实现要求和安...

  • 详解CGI、FastCGI、PHP-CGI、PHP-FPM

    1. 什么是CGI和FastCGI CGI:通用网关接口(Common Gateway Interface/CGI...

  • PHP-FPM、CGI、FASTCGI

    1 CGI(1)什么是CGI:CGI(Common Gateway Interface)公共网关接口, 是WWW技...

  • CGI,FastCGI,PHP-FPM三者之间的关系

    CGI CGI全称是“通用网关接口”(Common Gateway Interface),是外部应用程序(CGI程...

  • CGI,FastCGI,php-fpm的关系

    CGI CGI(Common Gateway Interface) 是外部应用程序(CGI程序)与WEB服务器之间...

  • CGI、PHP-CGI、FastCGI

    CGI一. CGI是什么CGI,全称是Common Gateway Interface,翻译过来就是“通用网关接口...

  • python3在windows上CGI的编程配置

    Python CGI编程 什么是CGICGI 目前由NCSA维护,NCSA定义CGI如下:CGI(Common G...

网友评论

      本文标题:高级CGI

      本文链接:https://www.haomeiwen.com/subject/yvbywxtx.html