Fastcgi - основи веб-програмування
Що таке FastCGI¶
На відміну від CGI. FastCGI використовує постійно запущені процеси для обробки безлічі запитів.
CGI-програми взаємодіють з сервером через STIN і STDOUT запущеного процесу.
FastCGI-процеси використовують для зв'язку з сервером Unix Domain Sockets або TCP / IP. Це дає наступне перевагу над звичайними CGI-програмами: FastCGI-програми можуть бути запущені не тільки на цьому ж сервері, але і де завгодно в мережі. Також можлива обробка запитів кількома FastCGI-процесами, що працюють паралельно. Можна використовувати кілька FastCGI-серверів, розподіляючи навантаження між ними за допомогою nginx або lighttpd.
Після встановлення з'єднання FastCGI-процесу з web-сервером. між ними починається обмін даними, з використанням простого протоколу, вирішального два завдання: організація двонаправленого обміну в рамках одного з'єднання (для емуляції STDIN. STDOUT. STDERR) і організація декількох незалежних FastCGI-сесій в рамках одного з'єднання.
Всі дані, що передаються обертаються в FastCGI-записи - одиницю даних протоколу. FastCGI-записи служать для організації двонаправленого обміну і мультиплексування декількох сесій в рамках одного з'єднання.
FastCGI-запис складається з заголовка фіксованої довжини, наступного за ним вмісту і вирівнюють даних змінної довжини. Кожен запис містить 7 елементів.