The Hypertext Transfer Protocol (HTTP), World Wide Web’in temelidir ve hypertext bağlantılarını kullanarak web sayfalarını yüklemek için kullanılır. HTTP, network’e bağlı cihazlar arasında bilgi alışverişi yapmak için tasarlanmış bir uygulama katmanı protokolüdür ve ağ protokolü yığınının diğer katmanlarının üstünde çalışır. HTTP üzerinden tipik bir akış, bir client (istemci) makinenin bir server (sunucuya) request (istekte) bulunmasını ve ardından bir response (yanıt) mesajı göndermesini içerir.
HTTP Request Nedir?
HTTP request (isteği), web tarayıcıları gibi İnternet iletişim platformlarının bir web sitesini yüklemek için ihtiyaç duydukları bilgileri isteme şeklidir. İnternet üzerinden yapılan her HTTP request (isteği), farklı türde bilgiler taşıyan bir dizi şifrelenmiş veri taşır. Tipik bir HTTP request (isteği) şunları içerir:
- HTTP Versiyon Tipi
- URL
- HTTP Metot
- HTTP Request Headers (Istek Basliği)
- HTTP Request Body (Istek Gövdesi)
Şimdi bu request (isteklerin) nasıl çalıştığını ve bir request (isteğin) içeriğinin bilgi paylaşmak için nasıl kullanılabileceğini detaylıca inceleyelim.
HTTP Metot Nedir?
Bazen HTTP verb olarak ta adlandırılan bir HTTP metodu, HTTP request (isteğinin) sorgulanan sunucudan beklediği eylemi belirtir. Örneğin, en yaygın HTTP metotlarından ikisi “GET” ve “POST” tur. “GET” request (isteği), karşılığında bilgi bekler (genellikle bir web sitesi biçiminde), “POST” request (isteği) ise genellikle müşterinin web servera bilgi gönderdiğini gösterir (form bilgileri gibi, örneğin gönderilen bir kullanıcı adı ve şifre).
HTTP Methods (Metotlar) | CRUD | Açıklama |
GET | Read (Okuma) | GET metodu, belirtilen kaynağın bir temsilini ister. GET kullanan istekler yalnızca verileri almalıdır. |
HEAD | Read (Okuma) | HEAD metodu, bir GET request ile aynıdır, ancak gövdesi olmayan bir response ister. |
POST | Create (Oluşturma) | POST metodu, belirtilen kaynağa bir data gönderir ve genellikle serverda state (durum) değişikliğine veya yan etkilere neden olur. |
PUT | Update (Güncelleme) | PUT metodu, hedef kaynağın tüm geçerli verilerini request (istek) verisiyle değiştirir. |
DELETE | Delete (Silme) | DELETE metodu belirtilen kaynağı siler. |
CONNECT | CONNECT metodu, hedef kaynak tarafından tanımlanan sunucuya bir tünel oluşturur. | |
OPTIONS | OPTIONS metodu, hedef kaynak için iletişim seçeneklerini açıklar. | |
TRACE | TRACE metodu, hedef kaynağa giden yol boyunca bir message loop-back (ileti geri döngü) testi gerçekleştirir. | |
PATCH | Update (Güncelleme) | PATCH metodu, bir kaynağa kısmi değişiklikler uygular. |
HTTP Status Code (Durum Kodu) Nedir?
HTTP status code (durum kodları), genellikle bir HTTP request’in (isteğinin) başarıyla tamamlanıp tamamlanmadığını belirtmek için kullanılan 3 basamaklı kodlardır. Durum kodları aşağıdaki 5 bloğa bölünmüştür:
- 1xx Informational (Bilgilendirici)
- 2xx Success (Başarı)
- 3xx Redirection (Yönlendirme)
- 4xx Client Error (Istemci Hatası)
- 5xx Server Error (Sunucu Hatası)
“xx”, 00 ile 99 arasındaki farklı sayıları ifade eder.
‘2’ rakamı ile başlayan durum kodları bir başarıyı gösterir. Örneğin, bir müşteri bir web sayfasını talep ettikten sonra, en sık görülen response (yanıtlar), request’in (isteğin) uygun şekilde tamamlandığını belirten “200 OK” status code (durum koduna) sahiptir.
Response (Yanıt) “4” veya “5” ile başlıyorsa, bu bir hata olduğu ve web sayfasının görüntülenemeyeceği anlamına gelir. “4” ile başlayan bir status code (durum kodu), client (istemci) tarafında bir hatayı belirtir (bir URL’de yazım hatası yaparken “404 BULUNAMADI” durum koduyla karşılaşmak çok yaygındır). ‘5’ ile başlayan bir status code (durum kodu), server tarafında bir şeylerin ters gittiği anlamına gelir.
Status Code’ların (Durum Kodların) Tam Listesi
HTTP Response Header Nedir?
Bir HTTP request (isteğine) çok benzer şekilde, bir HTTP response (yanıtı), response body (yanıt gövdesinde) gönderilen verilerin dili ve biçimi gibi önemli bilgileri ileten başlıklarla birlikte gelir.
Google Chrome’un ağ sekmesinden HTTP yanıtı başlıkları örneği:
HTTP Response Body Nedir?
‘GET’ isteklerine verilen başarılı HTTP response (yanıtları), genellikle istenen bilgileri içeren bir gövdeye sahiptir. Çoğu web isteğinde bu, bir web tarayıcısının bir web sayfasına çevireceği HTML verileridir.