FastCGI adalah perpanjangan dari Common Gateway Interface (CGI) yang dikembangkan oleh perusahaan bernama Open Market yang sekarang sudah tidak berfungsi. FastCGI tersedia secara bebas sebagai standar terbuka. Ini mengatasi kekurangan tertentu dalam CGI yang membatasi kinerja.
Tidak seperti CGI, FastCGI tidak membuat proses baru untuk setiap permintaan, sehingga meminimalkan biaya pembuatan dan penghancuran proses setiap kali permintaan diterima. Overhead ini dapat dielakkan dengan menggunakan Application Program Interfaces (APIs) seperti Netscape Server Application Programming Interface (NSAPI) atau Internet Server Application Programming Interface (ISAPI), tetapi karena ini adalah hak milik, ada kurva pembelajaran tambahan dan batasan dalam bahasa yang didukung untuk dipertimbangkan. Kelemahan lain dari CGI adalah fakta bahwa kasus-kasus tertentu untuk digunakan kembali tidak dapat diperoleh, seperti koneksi ke database atau teknik caching. Penanganan permintaan bisa 30 kali lebih cepat menggunakan FastCGI dibandingkan CGI konvensional.
Dengan FastCGI, beberapa permintaan dapat ditangani melalui satu koneksi, yang dikenal sebagai multiplexing. Atau, beberapa koneksi dapat digunakan. Permintaan ditransmisikan menggunakan File Transfer Protocol (FTP) atau soket. Koneksi yang sama kemudian digunakan untuk mengembalikan respons.
Meskipun koneksi mungkin ditutup pada saat ini, server web dan prosesnya masih tetap ada. Ini menawarkan banyak keuntungan. Misalnya, server dan proses aplikasi dapat dimatikan atau dihidupkan ulang secara terpisah.
FastCGI awalnya dikembangkan oleh Open Market dan diimplementasikan dalam penawaran server webnya. Antarmuka dapat diimplementasikan di server mana pun, dan segera diterapkan di sejumlah server web industri lainnya. FastCGI sangat kompatibel dengan komputasi terdistribusi, sehingga aplikasi FastCGI dapat berjalan di server terpisah ke layanan web. Ini menawarkan semua keuntungan untuk meningkatkan ketersediaan sistem, meningkatkan skalabilitas, dan meningkatkan keamanan sistem karena komponennya terisolasi. Dengan menggunakan FastCGI jarak jauh, administrasi menjadi lebih sedikit karena jaringan internal dapat menangani jalannya aplikasi.
Sama seperti aplikasi CGI yang dapat menghasilkan respons dari permintaan Hypertext Transfer Protocol (HTTP), begitu juga FastCGI. Ini juga menangani tugas-tugas seperti memverifikasi otentikasi dan mengonversi tipe data. Tugas-tugas ini ditangani menggunakan peran, yang dapat ditambahkan dan diperluas secara bebas.
FastCGI mudah dipahami dan dapat dijalankan dengan hampir semua bahasa pemrograman. Proses diisolasi, sehingga server tidak dapat di-crash oleh masalah khusus aplikasi. Aplikasi apa pun yang dibangun dengan kerangka FastCGI mundur dengan server lama yang menjalankan CGI. Selanjutnya, perpustakaan aplikasi dirancang untuk membuat migrasi aplikasi CGI menjadi sederhana.