İnternet, günlük hayatımızın ayrılmaz bir parçası haline geldi. Peki, internet sitelerinin nasıl çalıştığını ve bu sitelere erişirken hangi protokollerin kullanıldığını hiç merak ettiniz mi? Bu yazımızda, HTTP ve HTTPS protokollerini detaylı bir şekilde ele alacak ve HTTP durum kodları ile hata mesajlarını geniş bir liste halinde sunacağız.
1- HTTP ve HTTPS’in Detaylı Tanımı:
- HTTP (Hypertext Transfer Protocol) Nedir? HTTP, Tim Berners-Lee tarafından 1989’da icat edilmiş ve web’in temel taşını oluşturan bir protokoldür. Web tarayıcıları ve sunucular arasındaki veri alışverişini düzenler. Basit bir işleyişe sahip olup, istemci (genellikle web tarayıcısı) ve sunucu arasında düz metin formatında veri transferi sağlar. Düşünün ki, internet bir şehir ve web siteleri bu şehirdeki binalar. HTTP, bu binalara nasıl gidileceğini söyleyen bir yol haritası gibidir. İnternet tarayıcınız (örneğin, Google Chrome) bu yol haritasını kullanarak istediğiniz web sitesine (binaya) ulaşır.
- HTTPS (Hypertext Transfer Protocol Secure) Nedir? HTTPS, HTTP’nin güvenli bir versiyonudur ve 1994 yılında Netscape Communications tarafından geliştirilmiştir. SSL (Secure Sockets Layer) veya TLS (Transport Layer Security) şifreleme protokolleri kullanarak veri alışverişini şifreler. Bu, özellikle finansal işlemler ve kişisel bilgilerin transferi için önemlidir. HTTPS, HTTP’nin daha güvenli bir versiyonudur. Bir örnek vermek gerekirse, HTTPS, yol haritasının üzerine bir koruma kalkanı ekler. Bu kalkan, yolda karşılaşacağınız tehlikelere karşı sizi korur.
- Aralarındaki Farklar: HTTPS, HTTP’ye kıyasla ek bir güvenlik katmanı sunar. HTTP, veri şifreleme sağlamazken, HTTPS veri hırsızlığına ve dinlemeye karşı koruma sağlar. Bu, kullanıcıların hassas bilgilerini güvende tutar.
2- HTTP ve HTTPS Nasıl Çalışır?:
- HTTP Çalışma Prensibi: HTTP, istemci-sunucu modelini kullanır. Kullanıcı bir web adresi yazdığında, tarayıcı bu adresi HTTP isteği olarak sunucuya gönderir. Sunucu, gelen isteği işler ve uygun bir HTTP yanıtı (web sayfası, hata mesajı vb.) ile cevap verir.
- HTTP Nasıl Çalışır? Adım Adım Anlatım:
- Adres Girme: İnternet tarayıcınıza bir web sitesi adresi yazarsınız.
- İstek Gönderme: Tarayıcınız bu adresi HTTP kullanarak ilgili web sitesinin sunucusuna bir istek olarak gönderir. Bir web sitesine girerken, tarayıcınız o siteye “Merhaba, ben bu sayfayı görmek istiyorum” der.
- Cevap Alma: Sunucu, isteğinizi alır ve size web sayfasını geri gönderir. Bu sayede web sayfasını görebilirsiniz. Sunucu, “Tamam, işte sayfa” diyerek istediğiniz sayfayı gönderir. Tarayıcınız bu sayfayı alır ve size gösterir.
- HTTPS Çalışma Prensibi: HTTPS, HTTP’ye benzer şekilde çalışır ancak bir güvenlik katmanı ekler. İlk bağlantı sırasında, sunucu ve tarayıcı arasında bir SSL/TLS el sıkışması gerçekleşir. Bu işlem sırasında, her iki taraf da veri şifrelemesi için gerekli anahtarları paylaşır ve güvenli bir bağlantı kurulur.
- HTTPS Nasıl Çalışır? Adım Adım Anlatım:
- Güvenli Bağlantı Kurma: İnternet tarayıcınız, web sitesi sunucusuyla özel bir “el sıkışması” yapar. Bu, onların birbirlerini tanıdıkları ve güvendikleri anlamına gelir. Tarayıcınız, “Merhaba, ben bu sayfayı güvenli bir şekilde görmek istiyorum” der.
- Şifreli İletişim: Tarayıcı ve sunucu arasındaki tüm bilgiler şifrelenir. Yani, eğer birisi bu bilgileri ele geçirmeye çalışsa bile, onları anlayamaz. Sunucu, “Tamam, işte şifrelenmiş sayfa” diyerek sayfayı güvenli bir şekilde gönderir.
- Güvenli Veri Alışverişi: Tarayıcınız şifreyi çözer ve sayfayı güvenli bir şekilde size gösterir. Artık güvenli bir şekilde web sitesini ziyaret edebilir ve hatta hassas bilgilerinizi (örneğin, kredi kartı bilgilerinizi) güvenle girebilirsiniz.
3- HTTP Durum ve Hata Kodları:
HTTP durum kodları, bir web sunucusunun istemciye (tarayıcıya) yaptığı isteklerin durumunu belirten kodlardır. Bu kodlar beş ana gruba ayrılır:
1xx (Bilgilendirici): Geçici Yanıtlar
- 100 Continue: İstemcinin başlangıç isteği doğru, devam edebilir.
- 101 Switching Protocols: İstemci tarafından talep edilen protokol değişikliği kabul edildi.
- 102 Processing: İstek işleniyor, ancak henüz tamamlanmadı.
- 103 Early Hints: Ön bilgiler, sunucunun başlık bilgilerini erkenden göndermesi.
2xx (Başarılı): İstek Başarıyla Alındı, Anlaşıldı ve Kabul Edildi
- 200 OK: İstek başarılı.
- 201 Created: İstek başarılı, yeni bir kaynak oluşturuldu.
- 202 Accepted: İstek kabul edildi, ancak işlenmesi tamamlanmadı.
- 203 Non-Authoritative Information: İstek başarılı, ancak dönen bilgi orijinal kaynaktan değil.
- 204 No Content: İstek başarılı, ancak gönderilecek içerik yok.
- 205 Reset Content: İstek başarılı; istemci içeriğini sıfırlamalı.
- 206 Partial Content: Kısmi GET isteği başarılı.
- 207 Multi-Status: XML gövdesi birden fazla durum kodu içeriyor.
- 208 Already Reported: DAV isteği içindeki öğeler zaten bildirildi.
- 226 IM Used: Sunucu, istemcinin GET isteğini başarıyla tamamladı ve istemcinin kaynağı verimli bir şekilde almasını sağlayacak bir yol sundu.
3xx (Yönlendirme): İlave İşlem için Eylem Gerektirir
- 300 Multiple Choices: Birden fazla seçenek var, kullanıcı seçmeli.
- 301 Moved Permanently: İstenen kaynak kalıcı olarak yeni bir URL’ye taşındı.
- 302 Found: İstenen kaynak geçici olarak başka bir URL’de.
- 303 See Other: İstenen kaynak başka bir URL’de, GET kullanarak alınmalı.
- 304 Not Modified: Kaynak değişmedi, önbellekten yüklenmeli.
- 305 Use Proxy: İstenen kaynağa sadece belirtilen proxy üzerinden erişilebilir.
- 306 (Unused): Artık kullanılmayan kod.
- 307 Temporary Redirect: İstenen kaynak geçici olarak başka bir URL’de ve aynı metot kullanılmalı.
- 308 Permanent Redirect: İstenen kaynak kalıcı olarak başka bir URL’ye taşındı, aynı metot kullanılmalı.
4xx (İstemci Hatası): İstemci Kaynaklı Hatalar
- 400 Bad Request: Geçersiz istek, sunucu tarafından anlaşılamadı.
- 401 Unauthorized: Kimlik doğrulama gerekiyor, yetkisiz erişim.
- 402 Payment Required: Ödeme gerekiyor, gelecekte kullanılabilir.
- 403 Forbidden: Sunucu isteği anladı, ancak erişimi reddediyor.
- 404 Not Found: İstenen kaynak bulunamadı.
- 405 Method Not Allowed: İstekte kullanılan metod bu kaynak için izin verilmiyor.
- 406 Not Acceptable: İstenen kaynak istemcinin kabul edebileceği bir formatta değil.
- 407 Proxy Authentication Required: Proxy kimlik doğrulaması gerekli.
- 408 Request Timeout: Sunucu beklerken istek zaman aşımına uğradı.
- 409 Conflict: İstek, sunucunun geçerli durumuyla çakışıyor.
- 410 Gone: İstenen kaynak artık mevcut değil ve gelecekte de olmayacak.
- 411 Length Required: İstek için Content-Length belirtilmeli.
- 412 Precondition Failed: Ön koşullardan biri veya daha fazlası başarısız oldu.
- 413 Payload Too Large: İstek gövdesi çok büyük ve sunucu tarafından işlenemiyor.
- 414 URI Too Long: İstenen URL çok uzun.
- 415 Unsupported Media Type: İstek gövdesinin medya türü desteklenmiyor.
- 416 Range Not Satisfiable: İstemcinin talep ettiği aralık karşılanamıyor.
- 417 Expectation Failed: Sunucu, istemcinin Expect başlığındaki beklentilerini karşılayamaz.
- 418 I’m a teapot: Şaka amaçlı bir durum kodu, “Ben bir çaydalığım.”
- 421 Misdirected Request: İstek yanlış yapılandırılmış bir sunucuya gönderildi.
- 422 Unprocessable Entity: İstek iyi yapılandırılmış, ancak semantik hatalar içeriyor.
- 423 Locked: Kaynak kilitli.
- 424 Failed Dependency: İstek, başarısız olan başka bir isteğe bağlı.
- 425 Too Early: Sunucu, isteği işlemek için çok erken olduğunu düşünüyor.
- 426 Upgrade Required: İstemci, isteği tamamlamak için protokolü yükseltmeli.
- 428 Precondition Required: Sunucu, isteğin koşullu olmasını gerektiriyor.
- 429 Too Many Requests: İstemci çok fazla istek gönderdi, sınırlama uygulanıyor.
- 431 Request Header Fields Too Large: İstek başlıkları çok büyük.
- 451 Unavailable For Legal Reasons: Yasal nedenlerle kaynak erişime kapalı.
5xx (Sunucu Hatası): Sunucu Kaynaklı Hatalar
- 500 Internal Server Error: Sunucu tarafında beklenmeyen bir hata oluştu.
- 501 Not Implemented: Sunucu, isteğin yöntemini desteklemiyor veya tanımıyor.
- 502 Bad Gateway: Ağ geçidi veya proxy, geçersiz bir yanıt aldı.
- 503 Service Unavailable: Sunucu geçici olarak hizmet dışı veya aşırı yüklü.
- 504 Gateway Timeout: Ağ geçidi zaman aşımına uğradı, üst sunucu zamanında yanıt vermedi.
- 505 HTTP Version Not Supported: Sunucu tarafından desteklenmeyen HTTP sürümü.
- 506 Variant Also Negotiates: Sunucu, istekteki şartlarla çelişen bir içerik pazarlığı yapıyor.
- 507 Insufficient Storage: Sunucu, isteği işlemek için yeterli depolama alanına sahip değil.
- 508 Loop Detected: Sunucu, istekte sonsuz bir döngü tespit etti.
- 510 Not Extended: İstenen uzantılar tarafından gerekli olan ek koşullar karşılanmadı.
- 511 Network Authentication Required: Ağa erişim için kimlik doğrulaması gerekli.
HTTP ve HTTPS, internetin güvenli ve düzenli çalışmasını sağlayan temel protokollerdir. Bu rehber, bu protokollerin işleyişini ve önemini anlamanıza yardımcı olacak detaylı bilgiler sunmaktadır. Web geliştiriciler ve site yöneticileri için HTTP durum ve hata kodlarının bilinmesi, sitelerinin sorunsuz çalışmasını sağlamak için kritik öneme sahiptir.
Pingback:E-ticarette Rekabet Analizi - Gezgin Ajans ®
Pingback:Instagram Reklam Modelleri Nelerdir? -Gezgin Ajans ®
Pingback:Sanal Pos Şirketleri ve Komisyon Oranları - Gezgin Ajans ®