cgi接口原理(boa服务器)

news2024/11/14 2:42:58

CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。

boa服务器和CGI程序之间是通过标准输入输出(重定向到管道)来进行数据传递的,而这个过程需要环境变量的协作方可实现。可以支持多个cgi同时运行。

1.服务器将URL指向一个应用程序
2.服务器为应用程序执行做准备
3.应用程序执行,读取标准输入和有关环境变量
4.应用程序进行标准输出

这里写图片描述

CGI数据传输方式
REQUEST_METHOD:它的值一般包括两种:POST和GET,但我们写CGI程序时,最后还要考虑其他的情况。
1.POST方法
如果采用POST方法,那么客户端来的用户数据将存放在CGI进程的标准输入中,同时将用户数据的长度赋予环境变量中的CONTENT_LENGTH。
2.GET方法
在该方法下,CGI程序无法直接从服务器的标准输入中获取数据,因为服务器把它从标准输入接收到得数据编码到环境变量QUERY_STRING(或PATH_INFO)。
3.POST与GET的区别
以 GET 方式接收的数据是有长度限制,而用 POST 方式接收的数据是没有长度限制的。并且,以 GET 方式发送数据,可以通过 URL 的形式来发送,但 POST方式发送的数据必须要通过 Form 才到发送。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/658857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字符串概述

字符串 一、API二、字符串2.1字符串的构造方法2.2 字符串构造时的内存2.2.1 直接赋值时的内存模型2.2.2 由new创建时的内存模型 2.3 字符串的比较三、StringBuilder 一、API 目前已学过的两个API:Random和Scanner。 对记不清的API可以去JDK-API帮助文档进行查找。 …

基于matlab对现代相控阵系统中常用的子阵列进行建模分析

一、前言 本示例说明如何使用相控阵系统工具箱对现代相控阵系统中常用的子阵列进行建模并进行分析。 相控阵天线与传统碟形天线相比具有许多优势。相控阵天线的元件更容易制造;整个系统受组件故障的影响较小;最重要的是,可以向不同方向进行电子扫描。 但是&#xff…

分布式系统学习第一天 fastDFS框架学习

目录 1. 项目架构图 1.1 一些概念 1.2 项目架构图 2. 分布式文件系统 2.1 传统文件系统 3. FastDFS 3.1 fastDFS介绍 3.2 fastDFS安装 3.3 fastDFS配置文件 3.4 fastDFS的启动 3.5 对file_id的解释 4. 上传下载代码实现 5. 源码安装 - 回顾 1. 项目架构图 1.1 一…

JDK8-2-流(2)- 流操作

JDK8-2-流(2)- 流操作 上篇 JDK8-2-流(1)-简介 中简单介绍了什么是流以及使用流的好处,本篇主要介绍流的操作类型以及如何操作。 如何返回一个流 ① collection.stream 即调用集合 java.util.Collection 下的 stre…

大学生如何申请一台免费服务器?

大学生如何申请一台免费服务器?阿里云学生服务器免费申请:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境、git代码托管服务器,或者创建个人博客网站记录自己的学习…

【小米技术分享】MySQL:一条数据的存储之旅

大家好,我是你们的小米,一个热爱技术分享的活泼小伙伴!今天,我来给大家揭开一个神秘的面纱,带你们深入了解一下MySQL数据库是如何保存一条数据的。 客户端 首先,让我们从客户端(Client&#x…

【雕爷学编程】Arduino动手做(114)---US-015高分辨超声波模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

【免费】【sci】考虑不同充电需求的电动汽车有序充电调度方法(含matlab代码)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现sci文献《A coordinated charging scheduling method for electric vehicles considering different charging demands》,主要实现电动汽车协调充电调度方法,该方法主要有以…

如何使用PyTorch 在 OpenAI Gym 上的 CartPole-v0 任务上训练深度 Q 学习(DQN)智能体

强化学习(DQN)教程 本教程说明如何使用 PyTorch 在 OpenAI Gym 上的 CartPole-v0 任务上训练深度 Q 学习(DQN)智能体。 任务 智能体必须在两个动作之间做出决定-向左或向右移动推车-以便使与之相连的杆子保持直立。 您可以在 G…

存储笔记7 NAS

NAS  Describe NAS, its benefits and components  Discuss different NAS implementations  Describe NAS file-sharing protocols  Discuss NAS management options File Sharing Environment 文件系统:存储组织数据文件的结构化方式文件共享 网络存储…

python3GUI--图片浏览器By:PyQt5(附源码)

文章目录 一.前言二.展示1.主界面2.添加图片3.多级目录4.查看文件信息5.调整UI布局 三.源代码1.image_god_main_v.py2.image_god_GUI.py 四.总结 一.前言 本次使用PyQt5开发一款图片浏览器,本篇主要练习QD…

AIGC新时代,注意政策走向,产业方向,拥抱可信AI。需要了解基本理论,基础模型,前沿进展,产品应用,以及小小的项目复现

AIGC(AI-Generated Content,AI生成内容)是指基于生成对抗网络(GAN)、大型预训练模型等人工智能技术的方法,通过对已有数据进行学习和模式识别,以适当的泛化能力生成相关内容的技术。类似的概念还…

免费、不用部署SD:AI二维码制作教程

大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、读书和自媒体。 最近,风格化的AI二维码,应该没少见吧。生成的原理大家大概也知道,主要通过stable diffusion和一些插件来完成,但对…

【Linux】HTTPS协议

目录 🍺前言🍻HTTPS协议原理🎀1、概念🎁2、加密和解密🎂3、常见加密方式🍁3.1、对称加密🍂3.2、非对称加密 🎃4、数据摘要和数据指纹🍤5、HTTPS工作原理🌸5.1…

学生速看!免费领取一台阿里云服务器全流程

阿里云学生服务器优惠活动:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境、git代码托管服务器,或者创建个人博客网站记录自己的学习成长历程,拥有一台云服务器是很…

零基础速成simulink代码生成——简单滤波器实现2

simulink setting 找到model settings solver求解器配置 Code Generation 代码生成配置 生成代码报告 添加stateflow注释 可以将变量保存在定义的文件(选) 实践 简单一阶滤波器

鼠标键盘实验

文章目录 USB参考资料USB设备STM32F407USB 硬件连接软件移植官方HIDSTM32F4USB通信库 USB参考资料 ①《STM32F4xx中文参考手册》-第30章 全速USB on-the-go(OTG_FS) ②光盘:STM32参考资料:STM32 USB 学习资料-CD00289278.pdf(UM1021) ③光盘:STM32参考资…

Android 14 新特性:语法性别 Grammatical Gender

背景 如同汉语里的他、她、它,英语里的 He、She、it,很多语言都存在依据性别、对象不同而造成的语法差异,甚至不仅限于名词,还涉及到形容词、动词等,复杂得多。 而这部分语言所涉及到的人群多达 30 亿之众&#xff0…

【树形DP+可重集排列】至至子的公司排队

好屌的题 F-至至子的公司排队_牛客小白月赛55 (nowcoder.com) 题意: 思路: 其实题目问的就是,森林的拓扑序有几种 那么我们先去考虑一棵树的拓扑序有几种 这个可以用树形DP来解决 设dp[u]为,以u为根的子树的拓扑序的种类数&…

【Java】项目中大批量数据查询导致OOM

文章目录 背景内存溢出的具体原因错误模拟问题复现解决办法流式查询和分页查询的使用场景查询数据的建议 背景 项目中有时候一次性将大批量数据都查出来到内存中导致内存占用过多很可能会导致内存溢出 内存溢出的具体原因 在JVM内存结构中分为以下几个模块 程序计数器虚拟机…