Herkese merhaba değerli siber güvenlik ve teknoloji meraklıları!
İnternette gezinirken, bir web sitesine tıkladığınızda veya bir form doldurduğunuzda, arka planda ne gibi bir "iletişim fırtınası" koptuğunu hiç merak ettiniz mi? Tıpkı bizim günlük hayatta kullandığımız dil gibi, web de kendine özgü bir "konuşma diline" sahiptir. Bu dilin adı HTTP (Hypertext Transfer Protocol) ve onun daha güvenli versiyonu olan HTTPS.
Bu gönderide, internetin bu temel iletişim dilini, sunucuya yolladığımız "isteklerin" (requests) ne anlama geldiğini ve sunucudan aldığımız "durum kodları" (status codes) ile ne gibi gizli mesajlar edinebileceğimizi, özellikle de bir siber güvenlik penceresinden inceleyeceğiz. Hazır olun, çünkü bu bilgiler, web'in nasıl çalıştığını anlamanızı sağlayacak ve hatta bazı güvenlik ipuçları fısıldayacaktır!
İnternetin Temel Konuşma Dili: HTTP ve HTTPS Nedir?
Basitçe ifade etmek gerekirse:- HTTP (Hypertext Transfer Protocol):Web tarayıcınız (siz) ile bir web sunucusu (siteyi barındıran bilgisayar) arasında gerçekleşen veri alışverişi için kullanılan protokoldür. Bir web sayfasına tıkladığınızda, tarayıcınız sunucuya bir HTTP isteği gönderir ve sunucu da bir HTTP yanıtı verir.
- Unutmayın: HTTP üzerinden gönderilen veya alınan veriler şifresizdir. Bu da kötü niyetli kişilerin (örneğin bir açık Wi-Fi ağında) bu verileri kolayca ele geçirebileceği anlamına gelir.
- HTTPS (Hypertext Transfer Protocol Secure): HTTP'nin güvenli, şifrelenmiş versiyonudur.Veri alışverişi SSL/TLS (Secure Sockets Layer/Transport Layer Security) adı verilen bir şifreleme katmanı üzerinden gerçekleşir. Web adreslerinin başında gördüğünüz "https://" ibaresi ve tarayıcınızdaki kilit simgesi, bu şifrelemenin aktif olduğunu gösterir.
- Neden Önemli? Parolalarınız, kredi kartı bilgileriniz veya kişisel mesajlarınız gibi hassas verilerin, sizinle web sitesi arasında güvenli bir şekilde iletilmesini sağlar. Siber saldırganların (Man-in-the-Middle - Ortadaki Adam) bu verileri çalmasını veya değiştirmesini engeller.
Web İstekleri: Sunucuya Ne Söylüyoruz? (HTTP Metotları)
Tarayıcımız bir sunucuya istek gönderirken, ona ne yapmasını istediğimizi bildiren farklı "metotlar" kullanırız:- GET:En yaygın metottur. Bir web sayfasını, görseli veya dosyayı "almak" (getirmek) istediğinizde kullanılır. Veriler genellikle URL'de görünür (örn: site.com/ara?sorgu=elma).
- Siber Güvenlik Notu: Hassas bilgiler (şifre gibi) asla GET metoduyla URL'de gönderilmemelidir, çünkü bunlar tarayıcı geçmişinde kalır ve sunucu loglarında görünür.
- POST:Bir sunucuya veri "göndermek" istediğinizde kullanılır. Form doldurma, dosya yükleme, yorum gönderme gibi durumlarda veriler isteğin gövdesinde (body) gönderilir ve URL'de görünmez.
- Siber Güvenlik Notu: POST verileri URL'de görünmese de, şifrelenmediği sürece (HTTP kullanılıyorsa) hala ele geçirilebilir. HTTPS kullanmak bu sorunu çözer.
- PUT: Bir kaynağı (dosya, veri) sunucuda "oluşturmak" veya "güncellemek" için kullanılır.
- DELETE: Bir kaynağı sunucudan "silmek" için kullanılır.
- HEAD: GET ile aynıdır, ancak sunucu yalnızca yanıt başlıklarını (headers) döner, yanıtın gövdesini (body) dönmez. Sayfanın mevcut olup olmadığını veya en son ne zaman değiştirildiğini hızlıca kontrol etmek için kullanılır.
Durum Kodları: Sunucunun Bize Verdiği Gizli Mesajlar!
Bir web sunucusu, her isteğe bir "durum kodu" ile yanıt verir. Bu 3 basamaklı sayılar, isteğin başarılı olup olmadığını veya bir sorun olup olmadığını bildirir. İşte en yaygın kategoriler ve siber güvenlik ipuçları:1xx Bilgilendirme Kodları (Informational)
- 100 Continue: İstek alındı ve istemci isteğin geri kalanını göndermeye devam etmeli. (Genellikle otomasyon araçlarında görülür)
2xx Başarı Kodları (Success)
- 200 OK: İstek başarıyla tamamlandı. Web sayfasının sorunsuz yüklendiğini gösterir.

- 201 Created: İstek başarıyla tamamlandı ve sunucuda yeni bir kaynak oluşturuldu (örneğin, bir form gönderimi sonrası yeni bir kayıt oluştu).
- 204 No Content: İstek başarılı, ancak sunucu geri döndürecek bir içerik (response body) göndermiyor.
3xx Yönlendirme Kodları (Redirection)
- 301 Moved Permanently:İstek yapılan kaynak kalıcı olarak yeni bir adrese taşındı. Tarayıcı otomatik olarak yeni adrese yönlenir.

- Siber Güvenlik Notu: Kötü niyetli siteler, kullanıcıları bilmeden farklı adreslere yönlendirmek için 301 kullanabilirler.
- 302 Found (Moved Temporarily): İstek yapılan kaynak geçici olarak farklı bir adreste. (301'den farkı, geçici olmasıdır.)
- 307/308: POST isteklerinin yönlendirmesi sırasında metot değişimini önleyen daha güvenli yönlendirmeler.
4xx İstemci Hatası Kodları (Client Error)
- 400 Bad Request: Sunucu, istemcinin isteğini anlayamadı veya istek hatalı. (Genellikle hatalı parametre gönderildiğinde görülür)
- 401 Unauthorized:İsteği yapmak için kimlik doğrulaması gerekiyor. Kullanıcı giriş yapmamış veya kimlik bilgileri yanlış.

- Siber Güvenlik Notu: Bu kodu gördüğünüzde, zayıf kimlik doğrulama kontrolleri veya oturum yönetimi zafiyetleri için test yapmaya başlayabilirsiniz.
- 403 Forbidden:Kimlik doğrulama yapıldı ama kullanıcının bu kaynağa erişim yetkisi yok.

- Siber Güvenlik Notu: Bir sayfanın 403 vermesi, "yasak bölge" anlamına gelir. Ancak bu, yetki yükseltme (privilege escalation) veya kırık erişim kontrolü (broken access control) zafiyetlerini test etmek için harika bir ipucu olabilir! URL'yi veya parametreleri değiştirerek erişmeyi deneyin.
- 404 Not Found:İstek yapılan kaynak sunucuda bulunamadı. Yani sayfa mevcut değil.

- Siber Güvenlik Notu: Çok fazla 404 isteği göndermek veya bu kodun nasıl davrandığını incelemek, var olan gizli dizinleri veya dosyaları bulmak için bir yöntem olabilir.
- 405 Method Not Allowed: İstek yapılan metot (GET, POST vb.) bu kaynak için geçerli değil.
- 429 Too Many Requests:Çok fazla istek gönderildi. Genellikle "rate limiting" (hız sınırlaması) nedeniyle olur.
- Siber Güvenlik Notu: Brute force saldırılarını engellemek için önemlidir. Bu kodun dönmemesi, rate limiting zafiyeti olabileceğine işaret eder.
5xx Sunucu Hatası Kodları (Server Error)
- 500 Internal Server Error:Sunucunun kendisinde bir hata oluştu ve isteği yerine getiremedi.
- Siber Güvenlik Notu: Bu kod, sunucu tarafında bir sorun olduğunu gösterir ve bazen hata mesajları aracılığıyla hassas bilgiler (veritabanı hataları, dosya yolları) sızdırabilir. Dikkatlice incelemek gerekir.
- 502 Bad Gateway: Bir sunucu, başka bir sunucudan geçerli bir yanıt alamadı.
- 503 Service Unavailable:Sunucu şu anda isteği işleyemiyor (aşırı yüklenme veya bakım nedeniyle).

- Siber Güvenlik Notu: Kasıtlı DoS (Denial of Service) saldırıları sonucu bu kodun alınması hedeflenebilir.
Geliştirici Araçlarıyla Kendi Gözlerinizle Gözlemleyin!
Tüm bu istekleri ve durum kodlarını canlı olarak görmek çok kolaydır:- Tarayıcınızı Açın: Chrome, Firefox, Edge veya herhangi bir modern tarayıcı.
- Geliştirici Araçlarını Açın: Genellikle F12 tuşuna basarak veya sağ tıklayıp "İncele" (Inspect) seçeneğini seçerek açabilirsiniz.
- "Network" (Ağ) Sekmesine Gidin: Burada, bir web sayfasına gittiğinizde veya bir butona tıkladığınızda gerçekleşen tüm HTTP/HTTPS isteklerini ve sunucu yanıtlarını (durum kodları dahil) göreceksiniz.
Unutmayın: Bu bilgiler, web'in temelini anlamanıza yardımcı olur. Siber güvenlikte başarılı olmak için, her bir durum kodunun ve isteğin ne anlama geldiğini bilmek, bir dedektifin ipuçlarını takip etmesi gibidir. Bu bilgilerle, potansiyel zafiyetleri daha hızlı tespit edebilir ve interneti daha güvenli hale getirme yolculuğunuzda önemli bir adım atabilirsiniz!
Sizin de bu konuda eklemek istedikleriniz veya merak ettikleriniz varsa, lütfen yorumlarda paylaşın!
**Görsel Kaynakları:*** İnternetin Konuşma Dili Görseli: [wp-public-fs.s3.ap-south-1.amazonaws.com](https://wp-public-fs.s3.ap-south-1.amazonaws.com/tasks/16697b174aa3d32adacfcf9edc1bbd7b6bef75a499e7cb/images/mceu_94179173511722941265-66b1ff5091f7e.jpg)


