# HTTP (Hiper Metin Aktarım Protokolü)

Adres: https://softwaredictionary.org/tr/terimler/http
Kategori: Web Geliştirme
Son güncelleme: 2026-09-29

Kısaca: HTTP, tarayıcıların, uygulamaların ve sunucuların basit bir istek-yanıt döngüsüyle web sayfaları ve veri alışverişi yapmasını sağlayan protokoldür.

## HTTP nedir?

HTTP, tarayıcı ya da mobil uygulama gibi bir istemcinin (client) sunucudan bir şey nasıl istediğini ve sunucunun buna nasıl yanıt verdiğini tanımlar. Her alışveriş bir istekle (request) ve ardından gelen bir yanıttan (response) oluşur; her mesaj da bir başlangıç satırından, metadata taşıyan başlıklardan (header) ve gerçek içeriği barındıran isteğe bağlı bir gövdeden (body) meydana gelir.

Bir istek, amaçlanan eylemi anlatan bir metot belirtir: veri okumak için `GET`, oluşturmak için `POST`, güncellemek için `PUT` veya `PATCH`, silmek için `DELETE` gibi. Yanıt ise sonucu özetleyen bir durum kodu içerir: `200` başarıyı, `404` bulunamadığını, `500` ise sunucunun bir hatayla karşılaştığını gösterir.

HTTP durumsuzdur (stateless); yani her istek tek başınadır ve sunucu önceki istekleri kendiliğinden hatırlamaz. Kullanıcıları oturum açmış tutmak için bunun üzerine cookie'ler ve token'lar eklenir. Protokol HTTP/1.1'den HTTP/2 ve HTTP/3'e evrildi; bunlar veriyi daha verimli taşır ama aynı metotları, başlıkları ve durum kodlarını korur.

HTTP çoğu zaman HTTPS ile karıştırılır. HTTPS, aynı protokolün şifreli bir TLS bağlantısı üzerinden gönderilmiş halidir; böylece üçüncü kişiler trafiği okuyamaz ya da değiştiremez. Düz HTTP ise her şeyi okunabilir metin olarak gönderir ve gerçek web siteleri için kullanılmamalıdır.

## Önemli noktalar

- HTTP, bir dizi istek ve yanıt olarak çalışır.
- `GET` ve `POST` gibi metotlar istenen eylemi tanımlar.
- `200` ve `404` gibi durum kodları sonucu özetler.
- HTTP durumsuzdur; cookie'ler ve token'lar istekler arasına hafıza ekler.
- HTTPS, şifreli bir bağlantı üzerinden çalışan HTTP'dir.

## Örnek: Ham bir HTTP isteği ve yanıtı

```http
# Request sent by the client
GET /users/42 HTTP/1.1
Host: api.example.com
Accept: application/json

# Response sent back by the server
HTTP/1.1 200 OK
Content-Type: application/json

{"id": 42, "name": "Ada"}
```

## Sık sorulan sorular

**HTTP ile HTTPS arasındaki fark nedir?**

HTTPS, şifreli bir TLS bağlantısı üzerinden gönderilen HTTP'dir. Verinin yolda okunmasını ya da değiştirilmesini önler ve tarayıcıya gerçek web sitesiyle konuştuğunu kanıtlar.

**HTTP'nin durumsuz olması ne demektir?**

Sunucunun her isteği bağımsız ele aldığı ve önceki istekleri kendiliğinden hatırlamadığı anlamına gelir. Uygulamalar, geri dönen kullanıcıları tanımak için cookie, oturum (session) ya da token kullanır.

**GET ile POST arasındaki fark nedir?**

`GET`, sunucudan veri döndürmesini ister ve hiçbir şeyi değiştirmemelidir; `POST` ise bir şey oluşturmak ya da bir eylemi tetiklemek için veriyi istek gövdesinde gönderir.

## Kaynaklar

- [RFC 9110: HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110.html)
- [RFC 9112: HTTP/1.1](https://www.rfc-editor.org/rfc/rfc9112.html)
- [MDN: Overview of HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Overview)

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
