Güzel soru. Bir http neden kullanmıyoruz sorun vardı bir tane o soruya da bağlanıyır kısaca.
Konu şu herhangi bir programlama dili kullanırken saf programlama dili ile port açma kapama işlerini yapabiliyorsun. Ama içinde dümdüz text mesajlar gönderiyorsun. Bu mesajları biraz daha standard hale getirmek için protokoller kullanıyorsun. Örneğin en bilineni HTTP protokolü. HTTP protokolünün kendi dinamikleri var.
- Sunucu/istemci yöntemiyle çalışır
- Connection açık kalmaz
- request/response çalışır
- head/body ayrılır
- tipi olur
Bunlar ve bunlara benzer şeyler.
Tomcat nerede devreye giriyor. Java kodunun HTTP protokolünü desteklemesi için bir sunucu uygulaması yazıyorsun. Keza sunucu/istemci çalışıyor. Bunu komple kendin yazmak yerine yazılmış bir sunucuyu kullanabilirsin. Java'da da tomcat bilinen ve en çok kullanılan sunucu oluyor. Yerine jetty, IBM WAS veya başka sunucular da kullanabilirsin. Ya da zaman/tecrüven varsa kendin de yazabilirsin (tabi tavsiye etmeyiz).