SCGI

Simple Common Gateway Interface ( SCGI ) är ett protokoll för interaktion mellan applikationer och webbservrar (http), utvecklat som ett alternativ till Common Gateway Interface . Det liknar FastCGI men lättare att implementera.

Specifikationen publicerades av Neil Schemenauer <[email protected]> den 12 januari 2006 .

Specifikation

Klienten ansluter till SCGI-servern med hjälp av ett strömningsprotokoll som tillåter överföring av 8-bitars byte. Klienten börjar med att skicka en förfrågan. När SCGI-servern ser slutet på begäran skickar den tillbaka ett svar och stänger anslutningen. Svarsformatet anges inte av protokollet.

Begärformat

Förfrågan består av rubriker och en brödtext. Rubrikformat:

headers ::= header* header ::= namn NUL värde NUL namn ::= notnull+ värde ::= notnull+ notnull ::= <01> | <02> | <03> | ... | <ff> NUL=<00>

Dubblettnamn är inte tillåtna. Den första rubriken måste heta "CONTENT_LENGTH", och dess brödtext - en icke-tom sekvens av ASCII-siffror - måste innehålla längden på meddelandetexten (i decimalnotation). 'CONTENT_LENGTH'-huvudet ska alltid skickas, även om dess värde är 0. 'SCGI'-huvudet ska alltid skickas med värdet 1. För att underlätta övergången från CGI ska CGI-miljövariabler skickas som SCGI-huvuden.

Rubrikerna skickas kodade som nätsträngar .  Texten skickas efter rubrikerna och dess längd måste bestämmas av rubriken "CONTENT_LENGTH".

Exempel

Webbservern (SCGI-klient) öppnar en anslutning och skickar följande rader

"70:" "CONTENT_LENGTH" <00> "27" <00> "SCGI" <00> "1" <00> "REQUEST_METHOD" <00> "POST" <00> "REQUEST_URI" <00> "/deepthought" <00> "," "Vad är svaret på livet?"

SCGI-servern skickar följande svar:

"Status: 200 OK" <0d 0a> "Content-Type: text/plain" <0d 0a> ""<0d0a> "42"

SCGI-servern stänger sedan anslutningen.

Länkar


Externa länkar