HTTP – Nedir? Durum Kodları ve Açıklamaları

31 Ekim 2019 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.

Hemen hemen her gün karşılaştığımız HTTP kodlarını bu yazıda detaylı olarak inceleyelim, istedim.

HTTP kodlarının sınıflandırılması ve genel açıklamalarına geçmeden önce; cevabını aramamız gereken bazı sorular var. Öncelikle; bu soruların cevaplarını arayalım.

HTTP Nedir?

Hyper Text Transfer Protocol yani; Yüksek Metin Transfer Protokolü, 90’lı yıllardan beri yaygın olarak kullanılan application-level seviyesinde çalışan bir yapıdır. Bu protokol genellikle 80 portunu kullanır. Peki ne işe yarar? HTTP protokolü sayesinde; bilginin nasıl ve ne şekilde aktarım sağlanacağı, belirli kriterlere göre belirler.

Örneğin; bilgisayarınızdan (client – alıcı) bir web sayfasına (server – sunucu) istekte bulunduğunuzda; HTTP protokolü, bu web sayfasının kullandığı sunucuya (Apache, IIS, nginx vs. gibi) sizin isteğinizi iletir. Sunucu da yaptığınız isteği yorumlar ve istenen bilgileri iletir. Yani bir nevi iletişim ya da alışveriş işlemini yerine getirir.

NOT: Temel olarak; internet ortamı GET metoduna göre çalışır. Bu metod yalnızca istek içerir. Biraz önceki verdiğimiz örneğe geri dönecek olursak; siz sayfayı ver dediğinizde size sadece sayfayı verir, şayet sayfa mevcut ve aktifse. Sayfa aktif değilse; bir hata mesajı iletir.

Yukarıda anlattığımızı özetleyecek olursak; HTTP, istemci ve sunucu arasındaki, iletişim yolunu sağlar.

HTTP İstek Metotları

HTTP, yapılan isteğin sunucuda gerçekleşmesi için çeşitli yollar tanımlar. Bu yolların listesi aşağıdaki gibidir.

GET: Sadece veri almak için kullanılır.

HEAD: GET ile aynı fakat sadece; yanıt başlığındaki önbilgilere ulaşmak için kullanılır.

OPTIONS: Hedef kaynağın iletişim seçeneklerini belirlemek için kullanılır.

POST: Belirtilen kaynağa veri göndermek için kullanılır. Örneğin; resim yükleme işlemi POST yöntemi ile gerçekleştirilir.

PUT: Yeni bir kaynak oluşturmak ve varolan kaynağı güncellemek için kullanılır.

DELETE: Belirtilen kaynağı siler.

TRACE: Sunucuda ekleme ya da değişiklik yapılıp yapılmadığını kontrol etmek için kullanılır.

CONNECT: Bir proxy sunucudan başka bir proxy sunucuya bağlanmak için kullanılır.

PATCH: Hedef kaynakta, kısmı değişiklikler yapmak için kullanılır.

HTTPS Nedir?

Hyper Text Transfer Protocol Secure yani; Güvenli Yüksek Metin Transfer Prokololü, HTTP ile SSL / TLS (Secure Sockets Layer/Transport Layer Security – Güvenli Soket Katmanı/Aktarım Katmanı Güvenliği) iletişim kurallarının birleştirilmiş halidir. HTTPS’in amacı; iletişimin daha güvenli bir şekilde gerçekleştirilmesini sağlamaktır.

HTTP, yapılandırılmış metin ile iletişim yaparken; HTTPS şifrelenmiş formatta iletişim yapar.

HTTPS genellikle; 443 portunu kullanır.

HTTPS kullanmanın bir çok avantajı ve zorunlu olduğu durumlar mevcut. Örneğin; Google, SSL sertifikasına sahip olan web sayfalarının SEO konusunda bir adım önde olduklarını ve SSL sertifikasına sahip olan sitelerin kendilerince daha değerli olduğunu belirtmektedir. Bunun dışında; e-ticaret sitelerinin SSL sertifikasına sahip olmalarının zorunlu olduğunu zaten biliyorsunuzdur.

HTTP Durum Kodları

HTTP ile bir sunucuya istek yaptığınızda; sunucu bir HTTP kodu verir. Bu kodların kısa açıklamaları aşağıdaki gibidir.

1xx: Bilgi

2xx: Başarı

3xx: Yönlendirme

4xx: İstemci Hatası

5xx: Sunucu Hatası

HTTP kodlarının detaylı açıklaması da aşağıdaki gibidir.

100 – Continue – Devam

101 – Switching Protocols – Anahtarlama Protokolü

102 – Processing – İşlem

200 – OK – Tamam

201 – Created – Oluşturuldu

202 – Accepted – Onaylandı

203 – Non-Authoritative Information – Yetersiz Bilgi

204 – No Content – İçerik Yok

205 – Reset Content – İçeriği Baştan al

206 – Partial Content – Kısmi İçerik

207 – Multi-Status – Çoklu Durum

210 – Content Different – Farklı İçerik

300 – Multiple Choices – Çok Seçenek

301 – Moved Permanently – Kalıcı Olarak Taşındı

302 – Moved Temporarily – Geçici Olarak Taşındı

303 – See Other – Diğerlerine Bak

304 – Not Modified – Değiştirilmedi

305 – Use Proxy – Proxy Kullan

307 – Temporary Redirect – Geçici Yönlendirme

400 – Bad Request – Kötü İstek

401 – Unauthorized – Yetkisiz

402 – Payment Required – Ödeme Gerekli

403 – Forbidden – Yasaklı

404 – Not Found – Bulunamadı

405 – İzin verilmeyen Metod

406 – Not Acceptable – Kabul Edilemez

407 – Proxy Authentication Required  – Proxy Kimlik Doğrulaması Gerekli

408 – Request Timeout – İstek Zaman Aşımı

409 – Conflict – Çakışma

410 – Gone – Hedef Kaynak Artık Yok

411 – Length Required – Content-Length Başlık Yok

412 – Precondition Failed – Önkoşul Başarısız

413 – Request Entity Too Large – Varlık İsteği Çok Büyük

414 – Request-URI Too Long – İstek URI Çok Büyük

415 – Unsupported Media Type – Desteklenmeyen Ortam Türü

416 – Requested Range Unsatifiable – İstek Aralığı Sağlanamadı

417 – Expectation failed – Beklenti Başarısız Oldu

422 – Unprocessable Entity – İşlenemez Varlık

423 – Locked – Kilitli

424 – Method failure – Yöntem Hatası

500 – Internal Server Error – Sunucu Hatası

501 – Not Implement – Uygulanmamış

502 – Bad Gateway – Geçersiz Ağ Geçidi

503 – Service Unavailable – Hizmet Yok

504 – Gateway Timeout – Ağ Geçidi Zaman Aşımı

505 – HTTP Version Not Supported – Desteklenmeyen HTTP Sürümü

Kategoriler: [HTTP] Etiketler: #http #https #ssl #status-code #tls

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.