CGI语言及CGI技术原理
CGI是CommonGatewayInterface的缩写。CGI是Web服务器和CGI程序之间交流的标准方法。几乎所有的WEB服务器都支持CGI程序的运行。
CGI在表现形式上是放置在服务器中的一段程序,WEB服务器有选择性的将浏览器的请求转发给CGI程序,经过CGI程序的处理后将一些结果再通过WEB服务器反馈给浏览器。
CGI技术原理
CGI技术定义了一组标准的环境变量,这些环境变量存储着服务器与客户端的各种信息,提供给CGI程序作为参考。这其中就包括客户端发来的各种数据。Perl支持这些环境变量,并且很方便的将他们放到一个名为ENV的Hash表中。
关于CGI的所有环境变量及其意义列表请见如下:
CONTENT_TYPE
如果表单是用POST递交,这个值将是application/x-www-form-urlencoded.在上载文件的表单中,content-type是个multipart/form-data。
CONTENT_LENGTH
对于用POST递交的表单,标准输入口的字节数。
DOCUMENT_ROOT
你的服务器的根路径。
GATEWAY_INTERFACE
运行的CGI版本.对于UNIX服务器,这是CGI/1.1。
HTTP_ACCEPT
浏览器能直接接收的Content-types,可以有HTTPAcceptheader定义。
HTTP_USER_AGENT
递交表单的浏览器的名称、版本和其他平台性的附加信息。
HTTP_REFERER
递交表单的文本的URL,不是所有的浏览器都发出这个信息,不要依赖它。
PATH_INFO
附加的路径信息,由浏览器通过GET方法发出。
QUERY_STRING
脚本参数或者表单输入项(如果是用GET递交).QUERY_STRING包含URL中问号后面的参数。
REQUEST_METHOD
POST或GET,取决于你的表单是怎样递交的。
REMOTE_HOST
递交脚本的主机名,这个值不能被设置。
REMOTE_ADDR
递交脚本的主机IP地址。
REMOTE_USER
递交脚本的用户名.如果服务器的authentication被激活,这个值可以设置。
SCRIPT_NAME
指向这个CGI脚本的路径,是在URL中显示的(如,/cgi-bin/thescript)。
SERVER_PROTOCOL
服务器运行的HTTP协议。一般是HTTP/1.1。
SERVER_PORT
服务器运行的TCP端口,通常Web服务器是80。
SERVER_NAME
CGI脚本运行时的主机名和IP地址。
SERVER_SOFTWARE
你的服务器的类型如:Apache/1.3.28(Unix)。
CGI在表现形式上是放置在服务器中的一段程序,WEB服务器有选择性的将浏览器的请求转发给CGI程序,经过CGI程序的处理后将一些结果再通过WEB服务器反馈给浏览器。
CGI技术原理
CGI技术定义了一组标准的环境变量,这些环境变量存储着服务器与客户端的各种信息,提供给CGI程序作为参考。这其中就包括客户端发来的各种数据。Perl支持这些环境变量,并且很方便的将他们放到一个名为ENV的Hash表中。
关于CGI的所有环境变量及其意义列表请见如下:
CONTENT_TYPE
如果表单是用POST递交,这个值将是application/x-www-form-urlencoded.在上载文件的表单中,content-type是个multipart/form-data。
CONTENT_LENGTH
对于用POST递交的表单,标准输入口的字节数。
DOCUMENT_ROOT
你的服务器的根路径。
GATEWAY_INTERFACE
运行的CGI版本.对于UNIX服务器,这是CGI/1.1。
HTTP_ACCEPT
浏览器能直接接收的Content-types,可以有HTTPAcceptheader定义。
HTTP_USER_AGENT
递交表单的浏览器的名称、版本和其他平台性的附加信息。
HTTP_REFERER
递交表单的文本的URL,不是所有的浏览器都发出这个信息,不要依赖它。
PATH_INFO
附加的路径信息,由浏览器通过GET方法发出。
QUERY_STRING
脚本参数或者表单输入项(如果是用GET递交).QUERY_STRING包含URL中问号后面的参数。
REQUEST_METHOD
POST或GET,取决于你的表单是怎样递交的。
REMOTE_HOST
递交脚本的主机名,这个值不能被设置。
REMOTE_ADDR
递交脚本的主机IP地址。
REMOTE_USER
递交脚本的用户名.如果服务器的authentication被激活,这个值可以设置。
SCRIPT_NAME
指向这个CGI脚本的路径,是在URL中显示的(如,/cgi-bin/thescript)。
SERVER_PROTOCOL
服务器运行的HTTP协议。一般是HTTP/1.1。
SERVER_PORT
服务器运行的TCP端口,通常Web服务器是80。
SERVER_NAME
CGI脚本运行时的主机名和IP地址。
SERVER_SOFTWARE
你的服务器的类型如:Apache/1.3.28(Unix)。
精选留言