Http Redirect ve Url Rewrite nedir ve ne işe yarar?

Gökhan Şengün
Oct 16, 2017 · 2 min read

Bu flood’da Http Redirect ve Url Rewrite’ın nasıl çalıştığını ve hangi amaçlarla kullanıldığını anlatacağım.

Http/Url Redirect ya da Url Redirect bir web sayfasının birden fazla Url’den erişilebilecek şekilde kullanıma sunulmasıdır. Http Redirection, web sunucunun, web istemcinin yaptığı isteklere 301 (Moved Permanently) ya da 302 (Moved Temporarily — Found) kodları ile cevap vermesiyle oluşur. İstemci www․xyz․com’u istediğinde sunucu istemciye http 30x cevabı vererek istemciyi www․xyz․com/welcome sayfasına yönlendirebilir.

Aşağıdaki örnekte https://www․google․com'a yapılan isteğe 302 cevabı verilmiş ve istemci location bölümündeki adrese yönlendirilmiştir.

Image for post

Yukarıdaki örnekte isteğe 302 yani geçici yönlendirme cevabı verilmiş ve istemcinin yönlendirilen adresi saklamaması istenmiştir. Eğer 301 yani sürekli yönlendirme cevabı verilseydi istemci gelen cevabı saklayacak ve sonraki isteklerde ilgili yönlendirmeyi web sunucuya sormadan kendi içinden yapacaktı. Tahmin edeceğiniz gibi bu iki kodun kullanılabileceği yerler farklıdır. Sitemizi www․xyz․com’dan www․abc․com’a taşıdıysak www․xyz․com’a yapılan isteklere 301 cevabı vererek tarayıcıda yönlendirmenin saklanmasını istemek yerinde olacaktır. Bazı web sitelerinin güncellenmesi sırasında “Sitemizi size daha iyi hizmet verebilmek için güncelliyoruz” mesajını görürsünüz. Web sunucu bu durumda istemciye güncellenme bitene kadar Http 302 cevabını verecek ve istemciyi www․xyz․com/maintenance gibi bir sayfaya yönlendirecektir.

Aşağıdaki örnekte Url kısaltma servislerinden biri olan bit․ly tarafından kısaltılan bit․ly/2zoi8ut’ye 301 cevabının verildiğini görüyoruz.

Image for post

Not: HTTP/1.1 spesifikasyonu ile 301 ve 302 kodlarının yanına 303 (See Other) ve 307 (Temporary Redirect) kodları da eklenmiştir.

Bütün tarayıcılarda “redirect loop”a girilmesini önlemek adına bir maksimum redirect limiti bulunmaktadır. A sayfasının B’ye, B’nin C’ye ve C’nin de A’ya geri yönlendirdiği bir durumda redirect loop’a girileceği için tarayıcılar belirli bir limitten sonra redirect hatası verir.

Tarayıcılar redirect isteklerini otomatik olarak takip ederler, curl ise redirect'leri takip etmek için -L parametresini kontrol eder.

Image for post

Url Rewriting de yukarıda anlatılan Url Redirect’e benzer işlevleri yerine getirir ancak Url Redirect’in aksine istemci etkileşimi gerektirmez, bütün işlemler web uygulaması içinde gerçekleşir. Uzun bir Url’i kısaltmak, anlaşılır ve sade göstermek için kullanılır. Örnek olarak http://xyz․com/search.php?book_title=abc Url’i yerine http://xyz․com/search/abc Url’i istemci tarafında görülür. Sunucu tarafına iletilen bu Url, sunucu içerisindeki Url Rewriting modülü sayesinde sunucunun anlayacağı ilk versiyonuna dönüştürülerek işlenir.

Url Rewriting sayesinde kullanıcılar daha sade Url’ler görür, arama motorlarına yardımcı olunur ve dolayısıyla site daha doğru indekslenir.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store