CGI(Common Gateway Interface)
5968 ワード
CGIのいくつかの知識点
2012-2-24 11:31 by軒脈刃、392読み、 1 コメント、 コレクション、 編集
CGI(Common Gateway Interface)は、ウェブサーバとCGIスクリプトを共同でクライアントの要求を処理できるようにするプロトコルです.このプロトコル定義ドキュメントはhttp://www.ietf.org/rfc/rfc3875です.
Webサーバは接続、データ伝送、ネットワークインタラクションなどを管理する.CGI脚本は具体的な業務ロジックを管理する.
Webサーバの機能は、クライアント要求(HTTP Request)をCGIスクリプト要求に変換し、スクリプトを実行し、次にCGIスクリプトの応答をクライアントの応答(HTTP Reponse)に変換することである.
CGIのスクリプト要求には、メタデータと関連するメッセージボディがあります.
メタデータを要求
含める:
2012-2-24 11:31 by軒脈刃、392読み、 1 コメント、 コレクション、 編集
CGI(Common Gateway Interface)は、ウェブサーバとCGIスクリプトを共同でクライアントの要求を処理できるようにするプロトコルです.このプロトコル定義ドキュメントはhttp://www.ietf.org/rfc/rfc3875です.
Webサーバは接続、データ伝送、ネットワークインタラクションなどを管理する.CGI脚本は具体的な業務ロジックを管理する.
Webサーバの機能は、クライアント要求(HTTP Request)をCGIスクリプト要求に変換し、スクリプトを実行し、次にCGIスクリプトの応答をクライアントの応答(HTTP Reponse)に変換することである.
CGIのスクリプト要求には、メタデータと関連するメッセージボディがあります.
メタデータを要求
含める:
"AUTH_TYPE" | "CONTENT_LENGTH" |
"CONTENT_TYPE" | "GATEWAY_INTERFACE" |
"PATH_INFO" | "PATH_TRANSLATED" |
"QUERY_STRING" | "REMOTE_ADDR" |
"REMOTE_HOST" | "REMOTE_IDENT" |
"REMOTE_USER" | "REQUEST_METHOD" |
"SCRIPT_NAME" | "SERVER_NAME" |
"SERVER_PORT" | "SERVER_PROTOCOL" |
"SERVER_SOFTWARE" | scheme |
protocol-var-name | extension-var-name
:
AUTH_TYPE , basic,Digest
CONTENT_LENGTH
CONTENT_TYPE
GATEWAY_INTERFACE CGI , CGI/1.1
PATH_INFO CGI
PATH_TRANSLATED cgi , CGI ,
http://somehost.com/cgi-bin/somescript/this%2eis%2epath%3binfo
PATH_INFO /this.is.the.path;info
QUERY_STRING (GET )
REMOTE_ADDR ip
REMOTE_HOST
REMOTE_IDENT ,
REMOTE_USER
REQUEST_METHOD , GET/POST/PUT/DELETE
SCRIPT_NAME , /test/test.php
SERVER_NAME WEB
SERVER_PORT WEB
SERVER_PROTOCOL WEB
SERVER_SOFTWARE response Web , nginx/1.0.6
请求消息体
, stdin script
関連の知識点
パラメータ転送web http , http GET POST 。 ?
GET ,CGI QUERY_STRING 。
POST ?Web stdin( ) CGI 。 CONTENT_LENGTH 。
HTTP ,QUERY_STRING http GET ,stdin HTTP BODY
nginx+php nginx(web ) cgi php-cgi , php-cgi php, cgi response nginx。nginx http 。
,cgi , , , 。 web web , cgi 。 cgi cgi 。
,cgi ,cgi web , nginx,apache web 。 。 nginx+cgi+php php-cgi , deamon , fork cgi 。
多重化
,cgi , ,fastcgi 。 。 。 cgi scgi(simple cgi),scgi fastcgi , ( simple)。scgi c , perl 。
nginx+cgi+php , php $_SERVER cgi , nginx 。 cgi , cgi tcp , , 。 , cgi ( 6w )。
安全
cgi , bug:http://www.laruence.com/2010/05/20/1495.html
。
参考文献:cgi ? cgi ? 127.0.0.1 ip ,
http://www.lyinfo.net.cn/webclass/cgi/default.htm
http://blog.csdn.net/ablo_zhou/article/details/3634954
本論文は署名-非商業的使用3.0ライセンス契約に基づいて発表し、転載、演繹を歓迎するが、本明細書の署名葉剣の峰を保持しなければならない.http://www.cnblogs.com/yjf512/)を使用してはならず、商業目的に使用してはならない.何か質問や授権に関する協議があれば、私に連絡しますをお願いします.http://www.ietf.org/rfc/rfc3875
カテゴリ:
オープンソース研究