Geri Dön
C ve CGI, 2026'da ticari web ürününü hayata geçiriyor
SiTech AI Team2 dk okuma

C ve CGI, 2026'da ticari web ürününü hayata geçiriyor

Cory Prophitt; hesap, arama, klasör, Stripe ödeme ve Postmark e-postası sunan, OpenBSD üzerinde C ve CGI yazılmış ticari web ürünü marketyour.games'i yayınladı. Tek binary tüm istekleri yanıtlıyor.

2026'da CGI üzerinde yazılmış ticari uygulama

Cory Prophitt, marketyour.games'i C ile yazılmış ve CGI aracılığıyla çalışan ticari bir web ürünü olarak yayınladığını söylüyor. Üründe kullanıcı hesapları, içerik üreticileri için arama panosu, içerik düzenleme klasörleri, Stripe ile ödemeler ve Postmark ile işlemsel e-postalar yer alıyor. Artan güvenlik modelini izliyor ve JavaScript gerektirmiyor.

Yığını BCHS'tir: OpenBSD, C, httpd ve SQLite. Ne bir framework, ne bir şablonlama dili, ayrı bir veritabanı sunucusu ne de konteyner. C programı CGI ortam değişkenlerini okur ve yanıtlar; C kodu doğrudan HTML çıktısı verir, SQLite C API'si ise veritabanı dosyasını açar. Dağıtım, sadece bir klasöre atılan statik olarak derlenmiş bir binary'dir.

Her istek yeni bir işlem oluşturur, bu yüzden yeni bir sürüm yayınlamak tek bir dosyayı değiştirmek demektir. Prophitt'e göre sunucu yeniden başlatılmaz ve kesinti olmaz; yeni istekler sadece yeni binary'yi kullanır. OpenBSD, C programını korumak için pledge ve unveil gibi varsayılan ayarlar ve araçlar sunar; httpd ise varsayılan olarak chroot içinde çalışır, böylece CGI binary'si sandbox'a hapsetmiş olur.

Tek binary ve üç kütüphane

Ek kütüphaneler: Stripe ve Postmark'a giden istekler için libcurl; rastgele tanımlayıcı üretimi, parola hashleme ve Stripe webhook HMAC doğrulaması için libsodium; ve JSON işleme için libcjson. Sadece libcurl ve libsodium bağımlılık derlemesi oluşturur. libcjson, harici bağımlılıkları olmayan tek bir C dosyasıdır; SQLite ise resmi amalgamation dosyası ile kullanılır. Her ikisi de projeye gömülüdür ve projeyle birlikte derlenir.

Prophitt, httpd tüm trafiği CGI binary'sine yönlendirir ve binary'leri executable dosyada derler, böylece önbelleğe alınabilirler. Ona göre temiz derleme birkaç saniye sürerken, yeniden derleme yarım saniyeden kısa sürer. Derleme zinciri C derleyici ve üç kütüphaneden oluşur; ana editörü ise eklentisiz Vim'dir.

Neler değişti

CGI hazır olarak çok az şey sunduğu için çerez ayrıştırma ve oluşturma, sorgu parametresi ayrıştırma ve doğrulama, form verisi ayrıştırma ve doğrulama ve girdi kaçış yardımcılarını kendisi yazmak zorunda kaldı. Prophitt kendi versiyonunu tek bir başlık dosyasında, cgi.h içinde yazdı ama bunun doğru bir çözüm olduğundan emin değil. kcgi gibi kütüphaneler bulunduğunu belirtiyor; ancak bunların kullanımı, API'lerini ve güvenlik modellerini özmeyi gerektirir ve o, stb tarzı kütüphane yardımcılarını istiyordu.

Onun sonucu şu: CGI eski ama ölmemiş. İşlem fork'u hiç olmadığı kadar ucuz ve eğer fork bir gün sorun olursa olası bir yükseltme FastCGI'dir. Ürün, 2004'te standartlaştırılmış bir hizmet modelini kullanan tek bir binary üzerinde çalışıyor ve şimdiye kadar yayınladığı herhangi bir şeyden daha az hareketli parçaya sahip.

Kaynak: prophitt.me

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.