SCGISCGI (англ. Simple Common Gateway Interface — Спрощений Загальний Інтерфейс Шлюзу) — стандарт зв'язку між вебсервером і програмою — генератором контенту. Стандарт є спрощеною версією стандарту FastCGI. На відміну від FastCGI, специфікація SCGI займає кілька сторінок. СпецифікаціяСпершу вебсервер встановлює зв'язок із програмою, генератором контенту, використовуючи надійний потоковий протокол, що підтримує передачу 8-бітних байтів. Заголовки поділені нульовими байтами. Першим заголовком обов'язково має бути заголовок «CONTENT_LENGTH»(англ. ДОВЖИНА_ЗМІСТУ), що означає довжину тіла запиту. Цей заголовок має бути присутнім навіть якщо його значення дорівнює нулю. Також обов'язковий заголовок «SCGI», значення якого має бути «1», для підтвердження того, що цей запит — SCGI запит. Позиція цього заголовка, на відміну від «CONTENT_LENGTH», не зазначається. Після заголовку йде тіло запиту, яке зазвичай є тілом НТТР запита, надісланого до вебсервера. Після отримання й обробки інформації, програма повинна відіслати відповідь, однак її структура не зазначається, але зазвичай вона є такою ж, як і в CGI та FastCGI. Коли відповідь повністю надіслано, програма має обірвати з'єднання. ПрикладSCGI клієнт під'єднується до SCGI сервера і надсилає запит: "70:" "CONTENT_LENGTH" <00> "27" <00> "SCGI" <00> "1" <00> "REQUEST_METHOD" <00> "POST" <00> "REQUEST_URI" <00> "/deepthought" <00> "," "У чому сенс життя?" SCGI сервер обробляє отриману інформацію та відсилає відповідь: "Status: 200 OK" <0d 0a> "Content-Type: text/plain" <0d 0a> "" <0d 0a> "42" SCGI сервер обриває з'єднання. Вебсервери, що підтримують SCGIПротокол підтримується усіма провідними вебсерверами, зокрема:
Мови програмування, що підтримують SCGIМожливо зробити бібліотеку SCGI для майже будь-якої мови програмування, чому сприяє простота протоколу. Більшість мов мають бібліотеки. ПосиланняОригінальна специфікація [Архівовано 25 лютого 2021 у Wayback Machine.](англ.) |
Portal di Ensiklopedia Dunia