HTTP Ve HTTPS Nedir, Nasıl Çalışır, Farkları Nelerdir

Günlük hayatta çok kez gördüğümüz “http” nedir ? diye bir soru sorduğumuzda “http”, bilginin sunucudan kullanıcıya nasıl ve ne şekilde aktarılacağını gösteren protokoldür.

HTTP Ve HTTPS Nedir, Nasıl Çalışır, Farkları Nelerdir

HTTP NEDİR VE NASIL ÇALIŞIR ? :

Günlük hayatta çok kez gördüğümüz “http” nedir ? diye bir soru sorduğumuzda “http”, bilginin sunucudan kullanıcıya nasıl ve ne şekilde aktarılacağını gösteren protokoldür. Açılımı “Hyper Text Transfer Protocol” olan bu kavram dilimizde “Üstün Metin Transfer Protokolü” olarak biliniyor. İnternet kullanıcıları bunu aktif olarak kullanmasa da otomatik olarak arama çubuğu bu protokolü koyar. Halk dilinde söylemek gerekirse web sayfalarının görüntülenmesini sağlayan protokoldür. Bunun için bize bir tarayıcı gerekmektedir. Örneğin tarayıcıya girdik ve arama çubuğuna bir adres gireceğiz o aşamada http sunucuya bir giriş talebi sunar ve talep onay gördüğünde o sitenin verileri karşımıza çıkar ve biz siteye giriş yapmış oluruz.

HTTPS NEDİR VE NASIL ÇALIŞIR ? :

HTTPS VE HTTP çok karıştırılan iki protokol. HTTPS aynı HTTP gibi bir protokoldür. Açılımı “Secure Hyper Text Transfer Protocol” olsa da dilimizde “Güvenli Metin Aktarma Protokolü” olarak biliniyor. Temelde iki protokolde aynı işi yapsa da HTTPS güvenlik olarak öne çıkar. HTTPS protokolüne SSL sertifikası eklenirse HTTPS oluşur. Çalışma şekli aynı HTTP gibidir ancak güvenlik olarak SSL sertifikası bir katman olarak kullanılır. Örneğin birçok banka siteleri HTTPS protokolündedir. Anlayabileceğimiz güvenlik şart olan websiteler HTTPS mensubudur. SSL sertifikası olduğunda “GET” değeri ile search kısmından değişim yapılamaz buda SSL sertifikasının avantajlarındandır.

HTTP VE HTTPS ÇALIŞMA FARKLARI :

Tarayıcıya bir link yazarız ve tarayıcı bu linkin içeriğini çekmek için sunucuya istek gönderir.İstek proxy’ler aracılığı ile gönderilir. İstek sonucunda ise sunucu bir cevap yollar. Bu istekler GET, DELETE, HEAD, POST, TRACE, OPTIONS, CONNECT, PUT ve PATCH olmak üzere 9 tanedir. İstekler sunucunun yapması gereken komutu içeriyor. 

 Örnek bir http isteği :

GET /hello.txt HTTP/1.1

User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11

Host: www.example.com

Accept-Language: en

Sonra sunucu cevap veriyor ve versiyon soruyor. Versiyon sorgusu sonrası durum kodlarından verebiliyor. 

Örnek bir sunucu cevabı :

HTTP/1.1 200 OK

Date: Wed, 30 Jan 2019 12:14:39 GMT

Server: Apache

Last-Modified: Mon, 28 Jan 2019 11:17:01 GMT

Accept-Ranges: bytes

Content-Length: 12

Vary: Accept-Encoding

Content-Type: text/plain

Merhaba Dünya!

Ancak HTTPS’de Transfer güvenliği var ve transfer güvenliği bu alışverişi bir hakem gibi izliyor ve şifreliyor. 

Örnek bir şifreleme : 

t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RFTRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERHg9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ==




HTTP DURUM KODLARI

KOD

MESAJ

ANLAMI

AÇIKLAMA

1xx

Bilgi

100

Continue

Devam

İstek başarılı alındığı ve devam edilebileceği belirtilir

101

Switching Protocols

Anahtarlama Protokolü

Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir

102

Processing

İşlem

2xx

Başarı

200

OK

Tamam

İstek başarılı alınmış ve cevap başarılı verilmiştir.

201

Created

Oluşturuldu

İstek başarılı olmuş ve sunucuda yeni bir kaynak yaratılmıştır.

202

Accepted

Onaylandı

Sunucu isteği kabul etti ancak henüz işlemedi.

203

Non-Authoritative Information

Yetersiz Bilgi

Sunucu isteği başarılı işledi, ancak başka kaynakta olabilecek bilgi döndürmektedir.

204

No Content

İçerik Yok

İstek başarılı alınmış ancak geri içerik döndürülmemektedir.

205

Reset Content

İçeriği Baştan al

İstek başarılı alınmış ancak geri içerik döndürülmemektedir. Ancak içerik temizlenecektir (örneğin bir web formunda doldurulan bilgiler).

206

Partial Content

Kısmi İçerik

GET için kısmi içerik (içeriğin bir belirli bir parçası) başarılıyla döndürülmüştür.

207

Multi-Status

Çok-Statü

210

Content Different

Farklı İçerik

3xx

Yönlendirme

300

Multiple Choices

Çok Seçenek

Sunucuda isteğe göre birden fazla seçenek olduğunu bildirir. Sunucu seçeneği kendisi seçebilir veya seçenek listesini görüntüleyebilir.

301

Moved Permanently

Kalıcı Taşındı

Bir kaynağın (veya sayfanın) kalıcı olarak başka bir yere taşındığını bildirir ve o yere yönlendirme sağlar.

302

Moved Temporarily

Geçici Taşındı

Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir. Kaynağın ana adresi değişmemiştir.

303

See Other

Diğerlerine Bak

Farklı bir kayanağa GET 

yapılması gerektiğini belirtir.

304

Not Modified

Güncellenmedi

İstenilen kaynakta daha önce yapılan istekten beri herhangi bir değişikliğin olmadı belirtilir ve içerik gönderilmez.

305

Use Proxy

Proxy Kullan

Sunucu tarafından döndürülen proxy'in kullanılması gerektiği belirtilir.

307

Temporary Redirect

Geçici olarak yeniden gönder

Bir kaynağın (veya sayfanın) kalıcı değil geçici olarak başka bir kaynağa yönlendirir.

4xx

İstemci Hatası

400

Bad Request

Kötü İstek

İstek hatalı (isteğin yapısı hatalı) olduğu belirtilir.

401

Unauthorized

Yetkisiz

İstek için kimlik doğrulaması gerekiyor.

402

Payment Required

Ödeme Gerekli

Ödeme gerekiyor. (gelecekte kullanılması için ayrılmıştır).

403

Forbidden

Yasaklandı

Kaynağın yasaklandığını belirtir.

404

Not Found

Sayfa Bulunamadı

İstek yapılan kaynağın (veya sayfanın) bulunamadığını belirtir.

405

Method Not Allowed

İzin verilmeyen Metod

Sunucu , HTTP Method'u kabul etmiyor.

406

Not Acceptable

Kabul Edilemez

İstemcinin Accept header'ında verilen özellik karşılanamıyor.

407

Proxy Sunucuda login olmak gerekli

Proxy üzerinden yetkilendirme gerekir.

408

İstek zaman aşamına uğradı

İstek zaman aşımına uğradı (belirli bir sürede istek tamamlanamadı).

409

Conflict

(Hatlar) Çakıştı,Çakışma

İstek içinde çelişki var.

410

Gone

Bak

Kaynak artık yok.

411

Length Required

İstekte "Content-Length" (içeriğin boyutu) belirtilmemiş.

412

Precondition Failed

Sunucu istekte belirtilen bazı önkoşulları karşılamıyor.

413

Request Entity Too Large

İsteğin boyutu çok büyük olduğu için işlenemedi.

414

Request-URI Too Long

URI (URL) fazla büyük.

416

Requested range unsatifiable

İstenilen kaynak istenilen medya tipini desteklemiyor.

417

Expectation failed

İstek yapılan parça (bir dosyanın bir parçası vb..) sunucu tarafından verilebiliyor veya uygun değil.

422

Unprocessable entity

Sunucu "Expect" ile istenileni desteklemiyor veya yerine getiremiyor.

423

Locked

424

Method failure

451

Unavailable For Legal Reasons

Yasal nedenlerle gösterilemiyor

5xx

Sunucu Hatası

500

Internal Server Error

Sunucuda bir hata oluştu ve istek karşılanamadı.

501

Uygulanmamış

Sunucu istenilen isteği yerine getirecek şekilde yapılandırılmamıştır.

502

Geçersiz Ağ Geçidi

Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) cevap alamıyor.

503

Hizmet Yok

Sunucu şu anda hizmet vermiyor (kapalı veya erişilemiyor).

504

Gateway Timeout

Gateway veya Proxy sunucusu, kaynağın bulunduğu sunucudan (upstream sunucusu) belirli bir zaman içinde cevap alamadı.

505

HTTP Version not supported

HTTP Protokol versiyonu desteklenmiyor.

507

Insufficient storage