CGI version1.1-第一章 介绍 (译)
CGI version1.1-第一章 介绍
1.简介
1.1 用途
CGI 是为 HTTP服务器 与 CGI脚本 在 响应客户端请求分配职责,
客户请求由url,方法与关于传输协议的附属信息,
CGI定义了一些抽象参数用于描述从客户端传来的请求,定义了HTTP服务器与脚本之间的编程接口.
服务器端的职责是管理连接,数据转换、传输,与客户端请求相关联的网络问题,
那么客户端就负责客户端的问题,比如数据访问,文档处理.
1.2 要求
关键字: 'MUST','MUST NOT','REQUIRED','SHALL','SHALL NOT','SHOULD','SHOULD NOT','MAY'和'OPTIONAL'
在这个文档里作为说明
一个实现如果不能满足实现此协议的所有’must‘要求,那么它就是不合格 的
无条件支持的实现 是 满足所有must 和 所有 shuold的 要求
一个满足有的must的 , 但是没有满足所有required的实现是
有条件的兼容实现
1.3 文档
这个文档里没有定义所有的CGI的函数和特性,下面列出了此文档没有说明的特性
'system-defined’ 系统定义
这部分在不同的系统 有着不同的定义,但是在一样系统下的不同实现是一样的
在文档第7章 一个系统通常会定义一个操作系统的类
‘implementation-defined’ 实现定义
特性实现之间存在差异,个别的特性实现必须在文档里申明
1.4 术语
此文档使用很多在HTTP/1.1里定义的术语,无论如何,
在这个文档里的术语使用的,不怎么符合他们原先的定义,
它们在本文档的含义:
‘meta-variable'
服务器传给CGI脚本的参数
'script'
服务器会根据接口调用,它不是一个特质的编程语言,它可能是动态加载的或者是是一个 库
’server‘
服务器
CGI version1.1-第一章 介绍 (译)的更多相关文章
- Gradle2.0用户指南翻译——第一章. 介绍
翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...
- Akka in action (第一章 介绍Akka)
在本章 概述Akka 了解Actors和Actor系统 Akka的适用范围 在第一章中,会介绍给你Akk的个方面,它能做什么,与现有的解决方案有那些不同.重点关注Akka有哪些功能和使用范围和强大的并 ...
- IOS开发之控件篇UITabBarControllor第一章 - 介绍
UITabBarControllor的基本样子 官方有个图介绍这个TabBar的结构,我们先来看看这个结构图 --------------------------------------------- ...
- 第一章 介绍Django
Django是一个网络开发框架,有了这个框架,能是网站开发更高效有趣,能轻松的创建和维护高质量的网站应用. 这一本书的目的是使读者成为一个Django的专家.主要着重两点.第一,深入的解释Django ...
- Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest?
原始链接:Introduction: Why Google C++ Testing Framework? 词汇表 版本号:v_0.1 介绍:为什么使用GTest? GTest帮助你写更好的C++测试代 ...
- IOS开发之控件篇UINavigationController第一章 - 介绍
UINavigationController是一个比较常见的控件,它连接个视图,例如一个视图走到另外一个视图,之间的联系都可以用这个NavigationController的方法 一般都会由两个部分组 ...
- kubernetes第一章--介绍
- docker第一章--介绍和安装
- CuSparse 第一章
(部分翻译) 第一章 介绍 1. 命名惯例 CUSPARSE 包含了一系列处理稀疏矩阵的基本的线性代数子程式.是cuda函数库的一部分,从C,C++中调用. 该库例程可以分为四类: 第一层:在稠密向量 ...
随机推荐
- Bostonkey Simple calc
Simple Calc 明显的memcpy栈溢出,是一个静态链接的程序所以没给libc.发现里面有: 参数a1应该为_libc_stack_end的地址了._stack_prot通过rop修改为0x7 ...
- js实现form表单提交,图片预览功能
代码如下 <html> <head> <meta http-equiv="Content-Type" content="text/html; ...
- Java 四种线程池的使用
java线程线程池监控 Java通过Executors提供四种线程池,分别为: newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收 ...
- python基础之python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...
- 表单提交中get与post的区别
在Form里面,可以使用post也可以使用get.它们都是method的合法取值. 1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACT ...
- 关于height:100%两三事
对于CSS的height:100%,顾名思义,该元素的高度自动填充为其父元素的高度.但该样式有时候会不起作用,Mark down 一下.>< 首先,看一下以下CSS代码: div { he ...
- 【学习笔记01】:hover为DIV添加鼠标悬停时改变颜色的效果
:hover所有主流浏览器都支持(IE6.0以下支持不好,以后再学习用Javascript来实现悬停效果) 这是一个绿色底白色Icon的搜索按钮
- webservice axis2客户端设置代理方法(公司网络通过代理访问时)
webservice axis2客户端设置代理方法(公司网络通过代理访问时) UploadProcessInServiceStub stub = new UploadProcessInServic ...
- 客户端持久化解决方案: Web SQL
客户端持久化解决方案: Web SQL Web SQL 提供了一组使用 SQL 操作客户端数据库的 APIs, 不是 HTML5 规范的一部分,是一个独立的规范. 核心方法 openDatabase: ...
- Realview MDK 中不用手动开中断的原因
startup.s启动代码文件: ; Enter Supervisor Mode and set its Stack Pointer MSR CPSR_c, #Mode_SVC:OR:I_Bit:OR ...