Web Uygulaması Teknolojileri

Zehra Nur Mangal
7 min readJul 26, 2024

--

  • Günümüzde teknolojinin hızla ilerlemesi ile birlikte rutin işlerimizi kolaylaştırmak ve hızlandırmak için teknolojiden yardım alıyoruz.En çok kullandığımız web uygulamaları ile alışverişlerimizi ,marka oluşumlarımızı ,eğitimlerimizi ve bir çok ihtiyacımızı internet üzerinden hallediyoruz.
  • Web kavramını, uygulama ve teknoloji yapısını anlamak için bir kaç kavramı inceleyelim.

Web Uygulaması Nedir ?

  • Bir web uygulaması, web tarayıcısı aracılığıyla çalışan bir yazılımdır ve işletmelerin bilgi alışverişi yapmalarını ve uzaktan hizmet sağlamalarını kolaylaştırır. Müşterilerle kolay ve güvenli bir şekilde iletişim kurmak için yaygın olarak kullanılan web uygulamaları, alışveriş sepetleri, ürün arama ve filtreleme, hızlı mesajlaşma ve sosyal medya haber akışları gibi özellikler sunar. Bu tür uygulamalar, kullanıcıların yazılım indirmelerine veya yapılandırmalarına gerek kalmadan karmaşık işlevlere erişim sağlamalarına olanak tanır.

Web Teknolojisi Nedir?

  • Web Teknolojisi, İnternet üzerinden farklı türdeki cihazlar arasında iletişim sürecinde kullanılan çeşitli araçlar ve teknikleri ifade eder. Web tarayıcıları, web sayfalarına erişmek için kullanılır. Web tarayıcıları, İnternet üzerindeki metin, veri, resim, animasyon ve video gibi içerikleri görüntüleyen programlar olarak tanımlanabilir. Dünya Çapında Ağ’daki (WWW) köprülenmiş kaynaklara, web tarayıcıları tarafından sağlanan yazılım arayüzleri kullanılarak erişilebilir.
  • Web Teknolojisi sınıflandırması için bazı örnekleri sıralayabiliriz:

Dünya Çapında Ağ (WWW): Web tarayıcıları, HTML ve HTTP gibi teknolojilere dayanır.

Web Tarayıcısı: WWW’yi keşfetmek için kullanılan yazılımlar, sunucu ve istemci arasında arayüz sağlar ve web belgeleri ile hizmetleri talep eder.

Web Sunucusu: Kullanıcıların ağ isteklerini işleyen ve onlara web sayfaları sunan program, HTTP kullanarak bu işlemi gerçekleştirir.

Web Sayfaları: WWW’ye bağlı dijital belgeler, internete bağlı olan herkes tarafından bir web tarayıcısı ile görüntülenebilir.

Web Geliştirme: Web sitelerinin oluşturulması, inşa edilmesi ve bakımı, web tasarımı, yayınlama, programlama ve veritabanı yönetimi gibi unsurları içerir.

Web teknolojilerini daha iyi tanımak ve anlamlandırmak için bu yazımda

1. HTTP Başlıkları
2. Çerezler (Cookies)
3. HTTP durum kodları
4. HTTPS
5. URLs
6. REST
7. HTTP Proxy
8. HTTP Authentication

konularını anlatacağım :)

1. HTTP Başlıkları

HTTP başlıkları, istemci, sunucu ve aracıların HTTP istek-yanıt süreci sırasında bilgi alışverişinde bulunmalarına olanak tanıyan bir araçtır.

HTTP başlıkları, HTTP mesajlarının temel bileşenlerindendir ve sunucular ile istemciler arasında kritik bilgileri taşır. İstek başlıkları istemci hakkında, yanıt başlıkları ise sunucu hakkında bilgi içerir. Her iki tarafın da ortak kullandığı başlıklar mevcuttur. Örneğin, bir temsilci başlık, kaynağın gövdesi hakkında bilgi verirken, yük başlıkları mesaj gövdesinin boyutu gibi bilgiler içerir.

Başlıklar, mesaj zincirindeki kapsamlarına göre sınıflandırılabilir:

  • Uçtan Uca Başlıklar: İstemciden sunucuya değiştirilmeden iletilir ve önbelleklerde saklanır.
  • Geçiş Başlıkları: Yalnızca düğümler arasında geçerlidir, iletilmez veya önbelleklerde saklanmaz.

HTTP başlıkları kimlik doğrulama, önbellekleme ve proxy yönetimi gibi süreçleri tanımlar. Örneğin, çerezler (Cookies), HTTP başlıkları aracılığıyla iletilir ve istemcinin durumunu korur.

HTTP başlıkları, istemciler ve sunucular arasında bilgi alışverişini sağlar ve dört ana türe ayrılır:

HTTP İstek Başlıkları: İstemci tarafından gönderilir ve istek veya istemci hakkında bilgi sağlar. Örnekler: Accept, User-Agent, Authorization, Content-Type.

HTTP Yanıt Başlıkları: Sunucu tarafından gönderilir ve yanıt veya sunucu hakkında bilgi sağlar. Örnekler: Content-Type, Cache-Control, Set-Cookie, Location.

Genel Başlıklar: Hem isteklerde hem de yanıtlarda kullanılır ve genel bilgi sağlar. Örnekler: Date, Connection.

Varlık Başlıkları: Mesajın gövdesi hakkında bilgi sağlar. Örnekler: Content-Length, Content-Encoding.

Bu başlıklar, temel istek ve yanıt içeriklerinin ötesinde ek bilgi sağlayarak web iletişiminde işlevsellik ve optimizasyonlar sunar. Daha detaylı bilgi için ziyaret ediniz.

2.Çerezler (Cookies)

Çerezler (genellikle internet çerezleri olarak bilinir), bir ağ kullanırken bilgisayarınızı tanımlamak için kullanılan, küçük veri parçaları içeren metin dosyalarıdır. Belirli çerezler, belirli kullanıcıları tanımlamak ve web gezinme deneyimlerini iyileştirmek için kullanılır. Bir çerezde saklanan veri, bağlantınız sırasında sunucu tarafından oluşturulur. Bu veri, size ve bilgisayarınıza özgü bir kimlikle etiketlenir. Çerez bilgisayarınız ile ağ sunucusu arasında değiş tokuş edildiğinde, sunucu kimliği okur ve size özel olarak hangi bilgileri sunması gerektiğini bilir.

Sihirli Çerezler ve HTTP Çerezleri

  • Sihirli Çerezler: Eski bir bilişim terimi olup, verilerin değiştirilmeden gönderilip alındığı bilgi paketlerini ifade eder. Genellikle bilgisayar veritabanı sistemlerine girişte kullanılır.
  • HTTP Çerezleri: Sihirli çerezlerin modern internet tarayıcılığı için yeniden tasarlanmış halidir. 1994'te Lou Montulli tarafından çevrimiçi alışveriş mağazasının aşırı yüklenmiş sunucularını düzeltmek amacıyla geliştirilmiştir. Günümüzde yaygın olarak kullanılan çerez türüdür ve siber suçlular tarafından çevrimiçi etkinliklerinizi izlemek için kullanılabilir.

HTTP Çerezleri Nedir?

HTTP çerezleri, web tarayıcıları için kullanıcı oturumlarını izlemek, kişiselleştirmek ve bilgi depolamak amacıyla oluşturulmuş kısa kimlik bilgisi akışlarıdır. Yeni bir web sitesi ziyaret edildiğinde, web sunucusu tarayıcıya bu çerezleri gönderir. Tarayıcı, bu çerezleri yerel olarak saklayarak kullanıcıyı tanımlar ve gelecekte siteye geri dönüldüğünde, çerez verilerini sunucuya geri göndererek önceki oturum verilerini hatırlatır.

Çerezlerin Çalışma Prensibi

Çerezler, internet tarayıcınızda bir “emanet fişi” almak gibidir:

  • Emanet Teslimi: Bir siteyi ziyaret ettiğinizde, sunucuda size bağlı veri oluşturulur.
  • Fiş Almak: Bu veri, benzersiz bir kimlikle çerez olarak tarayıcınıza gönderilir.
  • Emaneti Geri Almak: Siteyi tekrar ziyaret ettiğinizde, tarayıcınız çerezi siteye geri gönderir ve önceki etkinliklerinizi hatırlar.

Çerezlerin Kullanım Amacı

  • Oturum Yönetimi: Kullanıcı giriş bilgilerini ve tercihlerini hatırlar.
  • Kişiselleştirme: Kişiselleştirilmiş reklamlar ve içerikler sunar.
  • İzleme: Ziyaret edilen sayfalar ve alışveriş sepeti gibi bilgileri izler.

HTTP Çerez Türleri

  • Oturum Çerezleri: Tarayıcı kapandığında silinir.
  • Kalıcı Çerezler: Belirli bir süre saklanır, kullanıcı kimlik doğrulaması ve izleme için kullanılır.

Birinci ve Üçüncü Taraf Çerezleri

  • Birinci Taraf Çerezleri: Ziyaret edilen site tarafından oluşturulur, genellikle güvenlidir.
  • Üçüncü Taraf Çerezleri: Diğer siteler tarafından oluşturulur, kullanıcı tarama geçmişini izleyebilir.

Çerezleri Yönetme

  • Etkinleştirme: Tarayıcı ayarlarından çerezleri etkinleştirebilirsiniz.
  • Kaldırma: Tarayıcı ayarlarından çerezleri temizleyebilirsiniz. Daha kötü niyetli çerezler için gelişmiş koruma araçlarına ihtiyaç duyabilirsiniz.

Çerezlerinizi sık sık temizlemek ve bir VPN kullanmak, gizliliğinizi korumaya yardımcı olur.

4) HTTP Durum Kodları ve Anlamları

HTTP durum kodları, bir web sitesinin sunucusunun tarayıcıya isteğin yerine getirilip getirilemeyeceğini belirten mesajlardır. Durum kodları, tarayıcıya isteğin sonucunu bildirmek için HTTP başlığında yer alır. Beş ana HTTP durum kodu kategorisi vardır:

  1. 1xx: Bilgilendirme
  2. 2xx: Başarı
  3. 3xx: Yönlendirme
  4. 4xx: İstemci Hatası
  5. 5xx: Sunucu Hatası

SEO İçin Önemli HTTP Durum Kodları

200: Başarı Her şeyin yolunda olduğunu belirtir.

301: Kalıcı Yönlendirme İstenen URL’nin kalıcı olarak yeni bir URL’ye taşındığını belirtir. SEO açısından önemli çünkü tam bağlantı değerini (link juice) yeni URL’ye geçirir.

302: Bulundu İstenen sayfanın farklı bir URL’de olduğunu belirtir. Kalıcı yönlendirmeler için 301 kullanmak daha iyidir.

404: Bulunamadı İstenen URL’nin sunucuda bulunamadığını belirtir. SEO için olumsuz bir işaret olabilir ve kullanıcı deneyimini düşürür.

410: Gitti İstenen URL’nin kalıcı olarak kaldırıldığını belirtir ve arama motorlarına bu URL’yi indekslememeleri gerektiğini söyler.

451: Yasal Nedenlerle Kullanılamıyor Bir sayfanın yasal nedenlerle kaldırıldığını belirtir.

500: İç Sunucu Hatası Sunucunun iç hatası nedeniyle isteği yerine getiremediğini belirtir. Arama motorları tarafından sevilmez çünkü neyin yanlış gittiğini belirlemez.

503: Hizmet Kullanılamıyor Sunucunun geçici olarak kullanılamadığını belirtir. Planlı bakım dönemlerinde kullanılır.

5)HTTPS

HTTPS (Hypertext Transfer Protocol Secure), HTTP’nin güvenli versiyonudur ve veri iletimini şifreleyerek korur. Özellikle hassas verilerin iletildiği sitelerde (örneğin, bankacılık veya sağlık hizmetlerinde) HTTPS kullanılmalıdır. Modern tarayıcılarda HTTPS kullanmayan siteler “güvenli değil” olarak işaretlenir; güvenli sitelerde ise URL çubuğunda bir kilit simgesi görünür.

HTTPS şu şekilde çalışır:

  1. Şifreleme Protokolü: HTTPS, iletişimi şifrelemek için Transport Layer Security (TLS) kullanır (önceden Secure Sockets Layer (SSL) olarak biliniyordu).
  2. Asimetrik Anahtar Altyapısı: İletişimi güvence altına almak için iki farklı anahtar kullanılır:
  • Özel Anahtar: Web sitesi sahibi tarafından kontrol edilir ve web sunucusunda saklanır. Bu anahtar, şifreli bilgileri çözmek için kullanılır.
  • Açık Anahtar: Herkesin erişebileceği bir anahtardır ve yalnızca özel anahtar tarafından çözülebilir. Bu anahtar, bilgilerin şifrelenmesini sağlar.

6)URLS

URL (Uniform Resource Locator), internet üzerindeki kaynakların adresini belirtir. Bir URL, bir web sitesine veya bir sayfaya erişmek için kullanılan tam adresi içerir.

Alan Adı (Domain Name) ise URL’nin bir parçasıdır. Alan adı, web sitesinin ismini belirtir ve URL’nin okunabilir kısmıdır.

Örneğin:

URL, bir web sayfasına erişmek için gereken tüm bilgileri içerirken, alan adı sadece o sayfanın adresini belirtir.

7)REST

REST (REpresentational State Transfer), web üzerindeki sistemler arasında standartlar sağlayan bir mimari stildir ve sistemlerin daha kolay iletişim kurmasını sağlar. REST uyumlu sistemler, genellikle stateless (durumsuz) olup, istemci ve sunucu arasındaki işlevlerin bağımsız olmasını sağlar.

İstemci ve Sunucunun Ayrılması

REST’te istemci ve sunucunun uygulanması bağımsızdır. Bu, istemci veya sunucunun kodunun diğerini etkilemeden değiştirilebileceği anlamına gelir. Bu ayrım, esnekliği ve ölçeklenebilirliği artırır.

İletişim

REST’te istemciler veri almak veya değiştirmek için istek gönderir, sunucular ise yanıt verir. İstekler şunlardan oluşur:

  • HTTP fiili (GET, POST, PUT, DELETE)
  • Başlık (istekle ilgili bilgi)
  • Kaynak yolu
  • İsteğe bağlı mesaj gövdesi

Temel HTTP Fiilleri

  • GET — Belirli bir kaynağı veya kaynak koleksiyonunu alır.
  • POST — Yeni bir kaynak oluşturur.
  • PUT — Belirli bir kaynağı günceller.
  • DELETE — Belirli bir kaynağı siler.

Bu mimari, güvenilirlik, hızlı performans ve ölçeklenebilirlik sağlar.

8) HTTP Proxy Nedir?

Bir HTTP proxy, bir HTTP istemcisi ve HTTP sunucusu tarafından alınan trafiği yüksek performanslı bir içerik filtresi olarak işlev görür. HTTP proxy protokolü, web tarayıcılarından internet’e giden istemci isteklerini yönlendirir ve hızlı veri önbelleklemesini destekler. Sunucunun işlediği herhangi bir trafik, kullanıcının IP adresi yerine proxy’nin IP adresinden gelmiş gibi görünür.

9)HTTP Kimlik Doğrulama

Kimlik doğrulama, bir istemcinin kimliğinin doğrulandığı ve belirli bir web kaynağına erişim izninin verildiği bir erişim kontrol süreci olarak tanımlanabilir. Bu nedenle, kimlik doğrulama, HTTP iletişimlerinde başka bir güvenlik önlemi olarak işlev görür.

Bir müşterinin ilk isteği genellikle anonimdir, bu nedenle müşterinin kim olduğunu doğrulamak için herhangi bir bilgi içermez. Bu durum, banka bilgileri gibi daha hassas kaynaklara erişim sağlanacaksa tehlikeli olabilir, çünkü herhangi bir kullanıcıya erişim izni verilebilir. Bu noktada kimlik doğrulama devreye girer: erişimi filtrelemek için sunucu anonim isteği reddeder ve istemci kimlik doğrulamasının gerektiğini belirtir. Sunucu ile istemci arasındaki kimlik doğrulama bilgileri başlıklar aracılığıyla iletilir.

Uzun bir yolculuktan sonra CYBERTEDU ekibinden Fatih Purtaş Hocamıza teşekkür ediyorum.

Referans:

[1]https://www.geeksforgeeks.org/http-headers/

[2]https://requestly.com/blog/what-are-http-headers-understand-different-types-of-http-headers/

[3]https://www.kaspersky.com/resource-center/definitions/cookies

[4]Status Code

[5]https://www.codecademy.com/article/what-is-rest

[6]https://www.azion.com/en/blog/what-is-http-authentication/#:~:text=Authentication%20is%20a%20protocol%20used,businesses%20in%20the%20online%20environment.

--

--