Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Simple Common Gateway Interface – Wikipedia
Simple Common Gateway Interface – Wikipedia
aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von SCGI)

Das Simple Common Gateway Interface (SCGI) ist ein textbasiertes Netzwerkprotokoll für die Anbindung eines Anwendungsservers an einen Webserver. Es ist eine Alternative zu HTTP und dem klassischen CGI und ähnelt dem FastCGI-Protokoll.

Die Spezifikation wurde von Neil Schemenauer erstellt und am 12. Januar 2006 als gemeinfreie Spezifikation veröffentlicht. Im Vergleich zu FastCGI ist das SCGI-Protokoll einfacher zu implementieren; moderne Webserver bieten mittlerweile gleichermaßen Unterstützung für FastCGI und SCGI an.

Protokollbeschreibung

[Bearbeiten | Quelltext bearbeiten]

Jeder SCGI-Request (engl. Anfrage) besteht aus einer Liste von Headern (Beschreibung des Inhalts) und einem Body (Inhalt). Die Header werden als Netstring kodiert und anschließend gefolgt vom Body über eine eigene Verbindung zur SCGI-Anwendung verschickt. Die Verbindung bleibt dabei bestehen und wird erst, nachdem die SCGI-Anwendung eine Antwort geschickt hat, beendet.

Durch die Kodierung der Header als Netstring beginnt jeder SCGI-Request mit einer Ziffer. Da dieser deshalb mit einem ASCII Byte zwischen '1' und '9' beginnt, kann dieser von einem HTTP-Forward unterschieden werden – eine laufende SCGI-Applikation kann so leicht in die Lage versetzt werden, gleichermaßen SCGI-Requests und HTTP GET/POST-Anfragen zu behandeln.

Für die Antwort ist im Protokoll kein Format definiert.[1] Es ist allerdings wie bei CGI üblich, dass die Antwort mit dem Status-Parameter beginnt.

Header

[Bearbeiten | Quelltext bearbeiten]
<Key> <NUL> <Value> <NUL>

Wie oben dargestellt besteht jeder Header aus einem Key-Value-Pair (engl. Schlüssel-Wert-Paar). Dabei wird der Schlüssel mit einem ASCII-Null (NUL) vom Wert getrennt, sowie der Header mit einem ASCII-Null (NUL) abgeschlossen. Jeder Schlüssel muss eindeutig sein und darf folglich nur einmal vorkommen.

SCGI-Request

[Bearbeiten | Quelltext bearbeiten]
<Länge des Netstrings>: "CONTENT_LENGTH" <NUL> <Länge des Body> <NUL> "SCGI" <NUL> 1 <NUL> ... "," <Body>

Der erste Header muss den Schlüssel "CONTENT_LENGTH" haben und darf keinen leeren Wert haben, selbst wenn die Länge des Body 0 beträgt. Danach folgen alle übrigen Header, die aber optional sind mit Ausnahme eines mit Schlüssel "SCGI" und Wert 1.

Webserverunterstützung

[Bearbeiten | Quelltext bearbeiten]

Folgende Webserver unterstützen das SCGI-Protokoll.

  • Apache HTTP Server
  • Lighttpd
  • Nginx Server
  • Althttpd[2]

Sprachanbindung

[Bearbeiten | Quelltext bearbeiten]

Folgende Programmiersprachen unterstützen die Erstellung von SCGI-Applikationen per Sprachanbindung:

  • D
  • Ruby
  • Python
  • Lisp
  • Perl
  • Haskell
  • Java
  • PHP
  • Tcl

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ SCGI-Spezifikation, § 2
  2. ↑ Althttpd: The Althttpd Webserver. Abgerufen am 19. Mai 2023. 

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • SCGI-Spezifikation
  • Netstrings-Spezifikation
  • Apache SCGI-Module und Python SCGI-Interface
  • Cherokee SCGI-Modul
  • Perl SCGI-Interface
  • Haskell SCGI Package
  • PHP SCGI Libraries
  • Nginx SCGI-Modul
  • WOOF! Framework
Webserver-Schnittstellen
Protokolle

CGI | SCGI | FastCGI | AJP

APIs

C NSAPI | C ASAPI | C ISAPI | Jakarta Servlet | ASP.NET | Python WSGI | Ruby Rack | JavaScript JSGI | PSGI | Lua WSAPI 

Apache-Module

mod_jk | mod_lisp | mod_parrot | mod_perl | mod_php | mod_python | mod_wsgi | mod_ruby | Phusion Passenger 

Web APIs

WSDL | XML-RPC | SOAP | REST 

Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Simple_Common_Gateway_Interface&oldid=256068351“
Kategorien:
  • Webserver
  • Netzwerkprotokoll auf Anwendungsschicht

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id