HTTP(Hyber Text Transfer Protocol) web uygulamaları üzerinde dökümanları transfer etmek için geliştirilmiştir.TCP/IP bağlantıları üzerinde iletim gerçekleşir. Temel olarak sunucu ve istemci arasında çalışan bir client-server modelidir. Request(istek) ve Response(cevap) olmak üzere iki çeşit iletişim durumu vardır. İstemci sunucuya bir request mesajı gönderdiğinde sunucu da ona responce mesajı vermesiyle HTTP bağlantısı yapılmış olur.

HTTP İstek Çeşitleri

GET : Bu yöntem basit anlamda karşımızdaki sunucudan veri almak için kullanılır. GET isteğinde iletimi yapılan veri POST isteğine göre daha az ve sınırlıdır.

POST : Sunucuya veri gönderimi yapmak için kullanılan yöntemdir. Özellikle form alanlarına girilmiş verileri uygulamaya göndermek için bu yöntemi kullanırız. Herhangi bir veri boyutu kısıtlaması yoktur.

HEAD : GET metoduna çok benzer fakat alınan bilgi GET kadar kapsamlı değildir. Bir sunucuya HEAD isteği yaptığımızda yanıt olarak durum kodu ve header bilgisi döner.

PUT : Bir web sunucusuna veri gönderip kaynağın üzerinde değişiklik yapıp güncellemek için kullanılır.

DELETE : Web sunucusunun içerisindeki herhangi bir dosyayı silme isteği yapmak için kullanılır.

CONNECT : Bu yöntem bir kullanıcının HTTP üzerinden bir web sunucusuna bağlantı kurması için kullanılır. Yani hedef ile kaynak arasında bir bağlantı sağlar.

OPTIONS : Bir web sunucusunun desteklediği HTTP yöntemlerini görmek için kullanılır.

TRACE : Web sunucusuna HTTP isteği yapılırken hata kontrolü yapıp istemciyi bilgilendirmek için kullanılan yöntemdir.

.

HTTP Yanıt Çeşitleri

1xx : Bilgilendirici cevap

2xx : Başarılı durum cevabı

3xx : Yönlendirme

4xx : İstemci hatası

5xx : Sunucu hatası

      Aşağıda bazı örnek cevap tiplerini açıklamaya çalıştım.

200 Ok : İstenilen kaynak bulundu ve başarılı bir şekilde bağlantı kuruldu anlamına gelir.

302 Found : Kaynak başka bir adrese yönlendirildi anlamına gelir.

403 Forbidden : Erişim hakkı olmadığını söyleyen yanıttır.

404 Not found : Gitmek istenilen kaynağın bulunmadığı cevabıdır.

405 Method not allowed : Kullanılan HTTP yönteminin sunucu tarafından desteklenmediği anlamına gelir.

500 Internal server error : Sunucu ile ilgili bir hata olduğunu bildiren cevap tipidir.