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 .
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.
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.
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.
Interaktionsprotokoller | |
---|---|
Gateways |