HTTP, Web'i güçlendiren bir haberleşme protokolüdür. Ayrıca TCP yığınının (stack) da en tepesindedir.
HTTP'nin yapısı
Modül, içinde protokol, talepler (requests) ve cevaplar (responses) barındırır. Aslında JavaScript, http.ServerRequest ve http.ServerResponse yapıcılarının (constructors) nesnelerinden ibarettir.
Başlıklar (Headers)
Kolayca görebileceğiniz gibi HTTP, IRC ile aynı tarzda bir protokoldür. Amacı, belgelerin değişimine olanak sağlamaktır. HTTP, başlıkları kullanarak talep ve cevapların, değişik haberleşme konuları ve içerik hakkında haberdar olmalarını sağlar. Çok basit bir örnek olarak bir metin, HTML, XML, JPEG vb. tipte dosyaları içerebilir. Gönderilen içeriğin tipi, Content-Type adlı çok bilinen başlık sayesinde gönderilir.
Bağlantılar (Connections)
TCP sunucu gerçekleştirimiyle HTTP sunucu yapısını karşılaştırdığınızda, şüphesiz pek çok benzerlik ortaya çıkar. Her iki durumda da createServer çağrılır ve her iki durumda da bir istemci (client) bağlandığında bir geri çağırma (callback) alınır. Öte yandan temelde büyük bir fark vardır. Net sunucusunda, bir bağlantı (connection) elde edilir. HTTP sunucudaysa elde edilen, talep (request) ve cevap (response) nesneleridir.
HTTP server, yüksek düzeyli (high-level) bir API'dir (Application Program Interface - Uygulama Programı Arayüzü). HTTP protokolünden alınan özel tipteki işlevsellikleri ve davranışları gerçekleştirme olanağı sağlayan araçlar sunar.