SCGI

Az SCGI ( Simple Common Gateway Interface ) egy protokoll az alkalmazások és a webkiszolgálók (http) interakciójára, amelyet a Common Gateway Interface alternatívájaként fejlesztettek ki . Hasonló a FastCGI -hez, de könnyebben megvalósítható.

A specifikációt Neil Schemenauer <nas@python.ca> tette közzé 2006. január 12- én .

Specifikáció

A kliens 8 bites bájtok átvitelét lehetővé tevő streaming protokoll használatával csatlakozik az SCGI-kiszolgálóhoz. Az ügyfél egy kérés elküldésével kezdi. Amikor az SCGI-kiszolgáló látja a kérés végét, visszaküldi a választ, és lezárja a kapcsolatot. A válasz formátumát a protokoll nem határozza meg.

Kérelem formátuma

A kérés fejlécekből és törzsből áll. Fejléc formátuma:

fejlécek ::= fejléc* fejléc ::= név NUL érték NUL név ::= notnull+ érték ::= notnull+ notnull ::= <01> | <02> | <03> | ... | <ff> NUL=<00>

Az ismétlődő nevek nem megengedettek. Az első fejlécnek "CONTENT_LENGTH"-nek kell lennie, törzsének pedig - egy nem üres ASCII számjegysorozat - tartalmaznia kell az üzenet törzsének hosszát (tizedes jelöléssel). A 'CONTENT_LENGTH' fejlécet mindig át kell adni, még akkor is, ha értéke 0. Az 'SCGI' fejlécet mindig 1-es értékkel kell átadni. A CGI-ről való átállás megkönnyítése érdekében a CGI környezeti változókat SCGI-fejlécként kell átadni.

A fejlécek hálózati karakterláncként kódolva kerülnek elküldésre .  A törzs a fejlécek után kerül elküldésre, és a hosszát a „CONTENT_LENGTH” fejlécnek kell meghatároznia.

Példa

A webszerver (SCGI-kliens) kapcsolatot nyit meg, és elküldi a következő sorokat

"70:" "CONTENT_LENGTH" <00> "27" <00> "SCGI" <00> "1" <00> "REQUEST_METHOD" <00> "POST" <00> "REQUEST_URI" <00> "/deepthought" <00> "," – Mi a válasz az életre?

Az SCGI szerver a következő választ küldi:

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

Az SCGI-kiszolgáló ezután lezárja a kapcsolatot.

Linkek


Külső linkek