首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用C写一个web服务器(四) CGI协议

CGI描述了服务器和请求处理程序之间传输数据的一种标准。...三位数字状态码,具体配置可自行搜索; 服务器必须将所有解释器返回的数据响应给客户端,除非需要压缩等编码,服务器不能修改响应数据; Nginx和PHP的CGI实现 介绍完了 CGI,我们来参考一下当前服务器...PHP 脚本要执行可以通过很多种方式,通过 Web 服务器,或者直接在命令行下,也可以嵌入在其他程序中。...PHP-FPM 快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。...PHP 的 sapi cgi-fcgi实现了 Fast-CGI 协议,提升了 PHP 处理 Web 请求的效率。 那么我们常见的 php-fpm 是什么呢?

1.9K60

开启用Python3自带的服务器CGI将Python用于web

网上大多数教程都给出了如下的开启服务器命令: BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。...取而代之的是,python -m http.server 命令 下面是错误示范: 1.输入python -m http.server 命令打开默认端口8000 2.在打开默认端口的路径下建立一个名为cgi-bin...3.在浏览器中打开http://localhost:8000/cgi-bin/hello.py 这样做发现html标签没被解析,而是直接打印在了屏幕上。...---- 在此教程中终于找到解决方案: 1.输入python -m http.server --cgi 命令打开默认端口8000 2.在打开默认端口的路径下建立一个名为cgi-bin的文件夹,把.py...3.在浏览器中打开http://localhost:8000/cgi-bin/hello.py 开心!

1.2K90
您找到你想要的搜索结果了吗?
是的
没有找到

Nginx+C+CGI服务器搭建

搭建Nginx的方法在网络上有很多,一般大同小异 但是如果说是建设Nginx+php,不只是一点点的多,是非常的多,而且多数都是抄来抄去,没心意 当使用Nginx+C开发的cgi来作为接口使用时...分析一下里面的perl语句,发现要监听一下 socket开的端口,然后Nginx里面配置一下,会来连接这个监听的socket的端口,配置如下: 点击(此处)折叠或打开 location ~ .*\.cgi...试试,然后放在/usr/local/nginx/html下 在浏览器里输入test.cgi,然后在系统里ps -aux看一下,多了一个test.cgi僵尸进程 ls /root的时候,真建了jjjjjjjjjjjjj...编译出来一个可执行文件test 然后用s pawn-fcgi -a 127.0.0.1 -p 9999 -C 25 -u zetc -f /usr/local/nginx/html/test 来监听一下 在web...里执行以下cgi指令试试就可以了

93930

CGI & FastCGI

cgi是什么   最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html。事物总是不 断发展,网站也越来越复杂,所以出现动态技术。...下面图可以看到流程 WEB服务器cgi程序交互   WEB服务器将根据CGI程序的类型决定数据向CGI程序的传送方式,一般来讲是通过标准输入/输出流和环境变量来与...而且它是Web客户机需要提供给Web服务器的唯一标识,可以在CGI程序中用它来区分不同的Web客户机。 REMOTE_HOST 这个环境变量的值包含发送CGI请求的客户机的主机名。...,它的文本值表示Web服务器传送给CGI程序的输入中的字符数目。...上面例子展示了cgi 程序与web服务器的交互。

1.6K30

深入剖析 Web 服务器与 PHP 应用的通信机制 - 掌握 CGI 和 FastCGI 协议的运行原理

CGI 的运行原理 当用户访问我们的 Web 应用时,会发起一个 HTTP 请求。最终 Web 服务器接收到这个请求。 Web 服务器创建一个新的 CGI 进程。...一句话就是 Web 服务器中的 CGI 进程将接收到的 HTTP 请求数据读取到环境变量中,通过标准输入转发给 PHP 的 CGI 程序;当 PHP 程序处理完成后,Web 服务器中的 CGI 进程从标准输出中读取返回数据...然后 Web 服务器关闭掉这个 CGI 进程。 可以说 CGI 协议特别擅长处理 Web 服务器Web 应用的通信问题。...深入 FastCGI 协议 从功能上来讲,CGI 协议已经完全能够解决 Web 服务器Web 应用之间的数据通信问题。...CGI 解释器进程完成处理后将标准输出和错误信息从同一连接返回给 Web 服务器CGI 解释器进程等待下一个 HTTP 请求的到来。

1.2K21

安卓HttpPost不适用于Python CGI服务器

问题背景一名 Android 开发人员遇到了一个问题,当使用 HttpPost 向其 Python CGI 服务器提交数据时,程序会无限期地挂起,直到开发者长按模拟器上的返回按钮并强制退出程序。...CGI 服务器似乎会启动脚本,但直到 Android 应用程序强制退出之前才会返回。当 CGI 脚本返回时,它会提示 CGI 脚本正常退出,但什么也没做。...解决方案首先,确保您的 Android 设备和 Python CGI 服务器都已正确配置并可以相互通信。其次,将请求执行移出 UI 线程。...第三,检查您的 Python CGI 脚本是否正确配置,并且可以处理 POST 请求。特别是,确保脚本有适当的权限来写入文件。最后,检查您的 Android 代码是否正确地构建了 POST 请求。...通过这些修改,该开发人员能够成功地向其 Python CGI 服务器提交数据。综合所说,在做安卓开发时,要考虑向后兼容性,确保应用在不同版本的Android系统上都能运行。

13210

区分 CGI FastCGI PHP-CGI PHP-FPM

CGI(Common Gateway Interface)是一种通用的 Web 服务器接口标准,它定义了 Web 服务器和应用程序之间进行通信的方式。...PHP-CGI 是 PHP 的 CGI 版本,它可以让 PHP 脚本在 Web 服务器上运行,但由于 CGI 的低效率,PHP-CGI 的性能也比较低。...关联和区别: CGI 和 FastCGI 都是 Web 服务器和应用程序之间通信的方式,但 FastCGI 在性能上比 CGI 更好。...PHP-CGI 和 PHP-FPM 都是 PHP 在 Web 服务器上运行的方式,但 PHP-FPM 可以有效提高 PHP 的性能和稳定性。...小故事 你(PHP)去和爱斯基摩人(web 服务器,如 Apache、Nginx)谈生意。你说中文(PHP 代码),他说爱斯基摩语(C 代码),互相听不懂,怎么办?

18430

cgi、fastcgi、php-cgi、php-fpm剖析

定义 cgi 通用网关接口,外部程序与web服务器之间的接口标准,是在cgi程序和web服务器之间传递信息的过程 每一次请求都会生成一个cgi进程,cgi程序执行完,进程退出 独立于服务器、独立编程语言...FastCgi FastCgi 像是一个常驻型的Cgi,它可以一直执行这,只要激活后,不需要每次去fork一次,还支持分布式运算,即FastCgi程序可以在网站服务器以外的主机上执行并且接受来自其他网站服务器的请求...apache收到用户请求,开始调用cgi接口,处理cgi程序(printenv.pl),处理完了之后返回 cgi程序处理后的结果。...都打不开链接了 我的理解是,web服务器启动,自动启动fastCgi模块 并且长期驻留在内存里, 用户访问 fastCgi程序,开启的fastCgi模块 ,直接处理请求,并返回结果. php-cgi 启动...技术 php是动态脚本语言 , php5.3以前 用php-cgi 来实现 fastCgi web请求,php 5.4开始,php-fpm 取代了php-cgi ,主要原因是 不能平滑重启php ,内存不能进行动态分配

1.3K10

什么是CGI、FastCGI、PHP-CGI、PHP-FPM

FastCGI与CGI特点 CGI,FastCGI也具有语言无关性。 CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。...(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥...相关模块在Apache, ISS, Lighttpd等流行的服务器上也是可用的。 CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。...当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。...上面的数据摘自Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)(http://zyan.cc/nginx_php_v6/) 什么是PHP-CGI

23130

web服务器介绍_常见web服务器

Web服务器也称为WWW (WORLD WIDE WEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。...下面对常见的WEB服务器进行简单介绍,后续对其中一些主要的服务器进行实际环境搭建。 1. Apache服务器 Apache仍然是世界上用得最多的Web服务器,市场占有率达60%左右。...支持FastCGI、CGI. Auth、输出压缩(output compress )、URL重写及Alias等重要功能。...Boa服务器 BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。...由于它是一个单任务的Web服务器,只能一次完成用户的请求,而不会fork出新的进程来处理并发的链接请求。但是Boa支持Cgi,能够为Cgi程序fork出一个进程来执行相应的客户请求。

14.1K10

什么是CGI、FastCGI、PHP-CGI、PHP-FPM

FastCGI与CGI特点 CGI,FastCGI也具有语言无关性。 CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。...(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥...相关模块在Apache, ISS, Lighttpd等流行的服务器上也是可用的。 CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。...当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。...上面的数据摘自Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)(http://zyan.cc/nginx_php_v6/) 什么是PHP-CGI

23330
领券