SCGI

Simple Common Gateway Interface ( SCGI ) er en protokol til interaktion mellem applikationer og web (http)-servere, udviklet som et alternativ til Common Gateway Interface . Det ligner FastCGI , men lettere at implementere.

Specifikationen blev offentliggjort af Neil Schemenauer <[email protected]> den 12. januar 2006 .

Specifikation

Klienten opretter forbindelse til SCGI-serveren ved hjælp af en streamingprotokol, der gør det muligt at overføre 8-bit bytes. Klienten starter med at sende en anmodning. Når SCGI-serveren ser slutningen af ​​anmodningen, sender den et svar tilbage og lukker forbindelsen. Svarformatet er ikke specificeret af protokollen.

Anmodningsformat

Anmodningen består af overskrifter og en brødtekst. Overskriftsformat:

overskrifter ::= overskrift* header ::= navn NUL værdi NUL navn ::= ikkenull+ værdi ::= ikke null+ notnull ::= <01> | <02> | <03> | ... | <ff> NUL=<00>

Duplikerede navne er ikke tilladt. Den første overskrift skal hedde "CONTENT_LENGTH", og dens brødtekst - en ikke-tom sekvens af ASCII-cifre - skal indeholde længden af ​​meddelelsesteksten (i decimalnotation). 'CONTENT_LENGTH'-headeren skal altid videregives, selvom dens værdi er 0. 'SCGI'-headeren skal altid sendes med en værdi på 1. For at lette overgangen fra CGI skal CGI-miljøvariabler sendes som SCGI-headere.

Overskrifterne sendes kodet som netstrenge .  Brødteksten sendes efter overskrifterne, og dens længde skal bestemmes af "CONTENT_LENGTH" overskriften.

Eksempel

Webserveren (SCGI-klient) åbner en forbindelse og sender følgende linjer

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

SCGI-serveren sender følgende svar:

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

SCGI-serveren lukker derefter forbindelsen.

Links


Eksterne links