HTTP(HyperText Transfer Protocol) İnternet bağlantısı olan cihazlar arası veri aktarmayı belirleyen protokole verilen isimdir. Bütün sitelerin kullandığı bu protokol sayesinde sunucuya istekte bulunarak veri alışverişi yapabiliriz. Bu istekler arasında en çok kullanılan istekler arasında “POST”, “GET”, “UPDATE” ve “DELETE” istekleri yer alır. İsimleri işlevleri hakkında bilgi veriyor olsa da bir siteden veri isterken GET isteği, sunucuya bilgi yollarken(Kayıt olma) POST isteği yolladığımızı belirtmem konseptin kafanızda oturması için yeterli olur. Bu yazıda örnek olarak GET isteğini kullanacağız ancak siz uygulamanızda diğer istekleri de kullanabilirsiniz.
JSON(JavaScript Object Notation) JavaScript dilinde kullanılan bir açık kaynak dosya formatıdır. Amacı iç içe (recursive) veri yapılarını metin olarak tutmak olan bu yapı sayesinde pek çok sunucuya veri gönderim ve alımı sağlamaktayız. Bünyesinde Anahtar: Veri (Key: Value) ilişkisi sunduğundan anahtarını belirttiğimiz bir dosyaya ulaşabilir veya filtreleme yaparak tüm anahtarlara ulaşabiliriz. Bünyesinde bir veri de tutabilir, bir veri altında bir veri dizisi de. Bu sayede Facebook yazı listesinden Instagram listenize kadar pek çok yapıyı oluşturabiliyor.
Bir iletişim başlattığınızda İnternet size 3 tip sonuç verir. Bunlardan data olanı aldığınız sonuç olup bir .json dosyası veya bir .xml dosyası olabilir. Buna İngilizce’de data denir ve verilerimizi içerir. İkinci sonuç olan response ise sunucunun size verdiği durum bilgisidir. Buna İngilizce dilinde HTTP Status Code denir ve 100–500 arası kodları vardır. Bu kodları detaylı olarak bu yazıda inceleyebilirsiniz. Kısaca bahsetmek gerekirse 200 kodu sunucu ile başarılı iletişim kurduğunuzu, 400 ile başlayan kodlar İnternet bağlantınızda sorun olduğunu gösterir. 500 ile başlayan kodlar ise sunucuda bir sorun olduğunu gösterir ve kullanıcı ile alakalı değildir.
Error ise sunucunun size attığı bir hata mesajıdır. Bağlantınız işlem sırasında kesilmiş olabilir, cihazı uçak moduna almış olabilirsiniz veya bağlantınız zayıf olup veri çekemiyor olabilirsiniz.