Mehmet

WFN Üye
Konular
1,188
Mesajlar
1,189
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTTP, web tarayıcısı ile sunucu arasında bilgi alışverişini sağlayan iletişim protokolüdür. Tarayıcı bir URL istediğinde sunucuya HTTP isteği gönderir; sunucu da istenen sayfayı, dosyayı veya sonucu bir HTTP yanıtı olarak döndürür. Bir web sitesinin nasıl çalıştığını anlamak için temel olarak istek, yanıt, yöntem, başlık ve durum kodu kavramlarını bilmeniz yeterlidir.

HTTP nasıl çalışır?​


Bir sayfayı açtığınızda işlem genellikle şu sırayla ilerler: Tarayıcı, örneğin example.com/hakkimizda adresindeki kaynağı almak için sunucuya istek gönderir. Bu istekte hangi kaynağın istendiği, kullanılacak HTTP yöntemi ve ek bilgiler bulunabilir. Sunucu isteği değerlendirir; ardından durum kodu, yanıt başlıkları ve gerekiyorsa HTML içeriğiyle cevap verir.

Bir web sayfası yalnızca tek bir HTTP isteğinden oluşmayabilir. HTML belgesi geldikten sonra tarayıcı, CSS dosyaları, JavaScript dosyaları, görseller ve yazı tipleri için ek istekler de gönderebilir. Bu nedenle sayfanın açılmasındaki sorun yalnızca ana HTML dosyasından değil, bağlı kaynaklardan da kaynaklanabilir.

Basit bir istek ve yanıt örneği​


Varsayımsal olarak tarayıcı şu isteği gönderebilir:

Kod:
GET /hakkimizda HTTP/1.1
Host: example.com
Accept: text/html

Burada GET, sunucudan bir kaynağın alınmak istendiğini; /hakkimizda, istenen yolu; Host ise isteğin hangi alan adına yöneltildiğini belirtir. Sunucu başarılı bir yanıt verdiğinde buna benzer bir sonuç dönebilir:

Kod:
HTTP/1.1 200 OK
Content-Type: text/html

<h1>Hakkımızda</h1>

200 OK, isteğin başarıyla işlendiğini gösterir. Content-Type başlığı, dönen içeriğin HTML olduğunu belirtir. Yanıt gövdesindeki HTML ise tarayıcının kullanıcıya göstereceği içeriği taşır.

HTTP yöntemleri ne işe yarar?​


HTTP yöntemi, isteğin amacını belirtir. Web yönetiminde en sık karşılaşacağınız yöntemler şunlardır:
YöntemTemel amacıTipik kullanım
GETBir kaynağı almakWeb sayfasını veya API verisini görüntülemek
POSTVeri göndermek veya sunucuda işlem başlatmakForm göndermek, kullanıcı oluşturmak
PUTBir kaynağı bütünüyle değiştirmekBir kaydın tamamını güncellemek
PATCHBir kaynağın belirli bölümünü değiştirmekYalnızca e-posta alanını güncellemek
DELETEBir kaynağı silmekBir kaydı veya dosyayı kaldırmak
HEADGövde olmadan yanıt bilgilerini almakKaynağın başlıklarını ve durumunu kontrol etmek
Bu yöntemler yalnızca isim değildir; sunucu, istemcinin ne yapmak istediğini yönteme göre yorumlar. Örneğin bir sayfayı görüntülemek için GET kullanılırken, form verisini sunucuya göndermek için çoğunlukla POST kullanılır. GET isteğiyle sunucudaki veriyi değiştirmek veya silmek gibi yan etkili işlemler tasarlanmamalıdır. Arama gibi salt okunur sorguların URL parametreleriyle iletilmesi ise farklıdır.

HTTP durum kodları nasıl yorumlanır?​


Sunucunun yanıtındaki üç haneli durum kodu, isteğin sonucunu hızlıca gösterir. İlk rakam, kodun genel sınıfını belirtir:
Kod aralığıAnlamıÖrnek ve yorum
100–199Bilgilendirmeİşlemin ara aşamasına ilişkin yanıtlar
200–299Başarılı200 OK: İstek başarıyla işlendi
300–399Yönlendirme veya önbellek bilgisi301: Kalıcı olarak başka adrese taşındı; 304: Değişmedi
400–499İstemci isteğiyle ilgili sorun404: Kaynak bulunamadı; 403: Erişim reddedildi
500–599Sunucu tarafı sorun500: Genel sunucu hatası; 503: Hizmet geçici olarak kullanılamıyor
Örneğin 404 Not Found, istenen yolun sunucuda bulunamadığını gösterir; bu sonuç tek başına sunucunun tamamen kapalı olduğunu kanıtlamaz. URL'de yazım hatası, yanlış yönlendirme, eksik dosya veya uygulamanın kaynağı üretmemesi de aynı sonuca yol açabilir. 500 Internal Server Error ise sunucunun isteği işlerken beklenmeyen bir sorun yaşadığını gösterir; bu durumda web sunucusu, uygulama ve hata günlükleri birlikte incelenmelidir.

HTTP ile HTTPS arasındaki fark​


HTTPS, HTTP iletişiminin TLS ile şifrelenmiş biçimidir. HTTPS kullanıldığında istemci ile sunucu arasındaki iletişimin gizliliği ve iletim sırasında değiştirilmesine karşı bütünlük korunur; ayrıca tarayıcı, sunucunun sertifikasını doğrulamaya çalışır.

HTTP ve HTTPS aynı web iletişimi modelini kullanır; ikisinde de istek, yanıt, yöntem ve durum kodları vardır. Fark, iletişimin güvenlik katmanıdır. HTTPS kullanılması sitenin içeriğinin doğru, güvenilir veya zararsız olduğunu tek başına kanıtlamaz. Sertifika, bağlantının belirli alan adıyla güvenli kurulmasına yardımcı olur; sitenin sunduğu bilgilerin doğruluğunu veya uygulamanın güvenli kodlandığını garanti etmez.

Web sitesi yöneticisi olarak pratik karar şudur: Kullanıcı girişi, form, ödeme, yönetim paneli veya kişisel veri içeren tüm iletişimlerde HTTPS kullanılmalıdır. Yalnız HTTP üzerinden çalışan bir siteye erişimde tarayıcının güvenlik uyarılarını görmezden gelmemeli; alan adının doğru olduğunu, sertifikanın geçerli olduğunu ve sitenin HTTPS sürümüne yönlendirme yapıp yapmadığını kontrol etmelisiniz.

Bir HTTP sorununu ilk aşamada nasıl ayırırsınız?​


Tarayıcıda bir sayfa açılmıyorsa önce görülen HTTP durum kodunu ve adres çubuğundaki alan adını kontrol edin. 4xx kodları çoğunlukla istek, yetki, URL veya kaynakla ilgili sorunlara; 5xx kodları ise sunucu, uygulama, proxy veya upstream hizmetindeki sorunlara işaret eder. Ancak durum kodu yalnızca başlangıç bilgisidir; kesin nedeni bulmak için ilgili sunucu ve uygulama günlüklerindeki aynı istek zamanını ve yolu incelemek gerekir.

Bir yönlendirme sorunu varsa 301 ve 302 yanıtlarının hedef adreslerini kontrol edin. Sonsuz yönlendirme, HTTP ile HTTPS arasında karşılıklı yönlendirme veya hatalı alan adı yapılandırması varsa tarayıcı sayfayı açmayabilir. 200 görülmesi de sayfanın her açıdan sorunsuz olduğu anlamına gelmez; HTML başarılı gelse bile CSS, JavaScript, görsel veya API istekleri ayrıca hata verebilir.

Sık sorulan sorular​


HTTP bir program veya sunucu mudur?​


HTTP bir program değil, istemci ile sunucunun nasıl iletişim kuracağını tanımlayan bir protokoldür. Web sunucusu ve tarayıcı bu protokolü uygulayan yazılımlardır.

HTTP kullanmak güvenli midir?​


Şifrelenmemiş HTTP trafiği, özellikle ortak veya güvenilmeyen ağlarda gizlilik ve bütünlük riski taşır. Hassas veri içeren sitelerde HTTPS kullanılmalıdır; HTTPS de sitenin içerik olarak güvenilir olduğunu tek başına kanıtlamaz.

200 OK gördüğüm hâlde neden sayfa düzgün çalışmayabilir?​


200 OK yalnızca o HTTP isteğinin başarılı yanıtlandığını gösterir. Sayfanın ihtiyaç duyduğu başka dosyalar veya API çağrıları 404, 403, 500 gibi farklı kodlar döndürebilir; tarayıcının geliştirici araçlarındaki Ağ bölümü bu istekleri ayrı ayrı gösterir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic