JavaScript'in uzak bağlantılar üzerindeki etkisi oldukça yüksektir ve bu etkiyi anlamak için birçok yöntem kullanılmaktadır Bu yöntemler arasında XMLHttpRequest nesnesi kullanımı ve AJAX uygulaması, farklı metodlar ile sunucuya istekte bulunma, CORS mekanizması kullanımı ve WebSocket'lerin kullanımı yer alır
XMLHttpRequest nesnesi, sunucuyla iletişim kurmak için kullanılır ve bir isteği göndermek için XMLHTTP örneği istenir Bu örnekle open metoduyla isteğin detayları sunucuya gönderilir XMLHttpRequest nesnesi, sunucuyla iletişim kurarak web sayfasında belirli alanları güncelleme ve verileri anında güncelleme avantajına sahiptir
Farklı metodlar kullanılarak sunucuya istekte bulunma işlemi, sunucu ile iletişim kurmanın en temel yollarından biridir GET, POST, PUT ve DELETE metodları farklı amaçlar için kullanılırlar GET metodu, sunucudan veri okurken kullanılır ve URL üzerinden istek

Javascript, bir web sayfasının en önemli yönlerinden biri olan uzak bağlantıların yönetiminde oldukça etkilidir. Bu makalede, Javascript'in uzak bağlantılar üzerindeki etkisini anlamak için, hangi yöntemlerin kullanıldığı, çalışma şekilleri ve sonuçları incelenecektir. Uzak bağlantıların yönetimi için birçok yöntem mevcuttur ve her birinin kendi özellikleri ve avantajları vardır.
Bu makalede, XMLHttpRequest nesnesinin kullanımı özellikleriyle birlikte sunulan AJAX (Asynchronous JavaScript and XML) uygulaması detaylı olarak ele alınacaktır. Başka bir bölümde, aynı hedefe yönelik farklı yöntemleri kullanarak yapılan sunucu istekleri incelenecektir. İsteklerin gönderimi için kullanılan get(), post(), put() ve delete() metodları ayrıntılı bir şekilde açıklanırken, GET metodunun bir alt bölümü olarak fetch() metodu da ele alınacaktır.
Bir diğer bölümde, CORS (Cross-Origin Resource Sharing) adlı bir mekanizma kullanılarak farklı kaynaklardan gelen verilerin paylaşımı için kullanılacak yöntemler açıklanacaktır. Son olarak, WebSocket'lerin kullanımı incelenecektir. WebSocket'ler, tarayıcı ve sunucu arasındaki iki yönlü iletişimi sağlar ve sunucudan tarayıcıya ve tersi yönde veri göndermek mümkündür.
XMLHttpRequest Kullanımı
JavaScript'te AJAX (Asynchronous JavaScript and XML) uygulamalarını kullanmak için XMLHttpRequest nesnesi, sunucuyla iletişim kurmak için kullanılır. Bu XMLHttpRequest nesnesi, sunucuya belirli bir kaynakla ilgili istekte bulunmak için kullanılır. Bir isteği göndermek için, JavaScript tarafından XMLHTTP örneği istenmelidir. XMLHTTP örneği oluşturulduğunda, open() metoduyla sunucuya isteğin detayları gönderilebilir.
XMLHttpRequest nesnesi kullanarak sunucuyla iletişim kurmak için, JavaScript ile çoklu bağlantı kullanarak sayfa yeniden yüklenmeden verilerin değiştirilmesini sağlayabilirsiniz. Bu, kullanıcının önemli ölçüde zaman ve veri kullanımından tasarruf etmesini sağlar. XMLHttpRequest'i kullanan bir uygulama, sunucuyla iletişim kurarak web sayfasında belirli alanları güncelleme ve verileri anında güncelleme avantajına sahiptir.
XMLHttpRequest nesnesi, sunucuyla iletişim kurmak için farklı türlerde veri alışverişinde bulunabilir. Bu veri türleri arasında HTML, XML, JSON ve düz metin bulunur. Belirli bir veri türüne göre istek göndermek için, send() metodunu kullanabilirsiniz. Örneğin JSON veri türü için örneğin, send(JSON.stringify(data)) şeklinde bir istek gönderebilirsiniz.
Farklı Metodlar ile Sunucuya İstekte Bulunma
Farklı metodlar kullanılarak sunucuya istekte bulunma işlemi, sunucu ile iletişim kurmanın en temel yollarından biridir. Bu işlem genel olarak, sunucudan veri okumanın yanı sıra, sunucuya farklı veri tiplerinde veri göndererek kullanıcının etkileşimini arttırmak için kullanılır.
İstekte bulunma işlemi için en çok kullanılan metodlar arasında get(), post(), put() ve delete() metotları yer almaktadır. Bunların her biri farklı özelliklere sahip olup, kullanım amaçları da birbirinden farklıdır. Örneğin, get() metodu genellikle sunucudan veri okumak için kullanılırken, post() metodu veri göndermek için kullanılır.
İşlem sırasında kullanılacak metodların seçimi, yazılımın amacına göre belirlenir. Bu seçimde, sunucunun geçerli yöntemleri de dikkate alınmakta ve kullanıcının cihazının teknik özellikleri göz önünde bulundurulmaktadır. Örneğin, yoksa kullanılmaması gereken bir metot sunucudan veri çekerken kullanıldığında hatalarla karşılaşılabilmektedir.
- get(): Bu metot genellikle sunucudan veri okumak için kullanılır. Örneğin, bir web sayfası yüklenirken, sunucudan sayfa içeriğini almak için bu metot kullanılır.
- post(): Bu metot, sunucuya veri göndermek için kullanılır. Örneğin, bir form gönderme işlemi sırasında post() metodu kullanılır.
- put(): Bu metot, var olan bir kaydı güncellemek için kullanılır. Örneğin, bir kullanıcının profil bilgileri güncellenirken put() metodu kullanılır.
- delete(): Bu metot, varsayılan olarak bir kaydı silmek için kullanılır. Örneğin, bir kullanıcının hesabı silinirken delete() metodu kullanılır.
Bir yazılımın başarısı için, sunucu ile etkileşimli işlemlerin doğru bir şekilde gerçekleştirilmesi oldukça önemlidir. Farklı metodlar kullanılarak istekte bulunma işlemlerinin gerçekleştirilmesi, bu başarıyı sağlamak için temel bir adımdır.
GET Metodu
GET metodu, HTTP protokolünde en çok kullanılan yöntemlerden biridir. Sunucudan veri okunurken kullanılır ve URL üzerinden istek gönderir. GET isteği, verileri sunucudan çeker ve gönderir ancak sunucu üzerinde herhangi bir değişiklik yapmaz. Bu nedenle, güvenli olmayan işlemler için kullanılmamalıdır.
GET isteği, belirli bir URL'ye erişim ve içeriği indirme gerektiren her yerde kullanılabilir. Ayrıca, GET isteği, diğer metodlara göre daha hızlıdır ve sık kullanılan önbellekleme sistemlerinde daha etkilidir.
- GET isteğinin en önemli özellikleri şunlardır:
- Veriler URL üzerinden gönderilir
- Sadece veri çeker, sunucuda değişiklik yapmaz
- Cache mekanizması ile daha hızlı hale getirilebilir
- Veri boyutu sınırlıdır, çok büyük verilerin aktarımı için uygun değildir
GET isteği, fetch() metodunu kullanarak aynı zamanda modern web uygulamalarında da kullanılabilir. Bu sayede daha hızlı ve kolay bir iletişim sağlanabilir.
fetch() Kullanımı
fetch() metodu, modern web uygulamalarında sıklıkla kullanılan ve XMLHttpRequest nesnesi ile yapılan işlemleri daha kolay hale getiren bir API'dir. fetch() metodu, bir HTTP isteği yapmak ve sunucudan veri almak için kullanılabilir. Veriler JSON, text, blob ve ArrayBuffer gibi birçok farklı formatta olabilir.
Fetch API, asenkron olarak çalışır ve Promise tabanlıdır. Bu nedenle, .then() ve.catch() ile işleme alınması gerekir. fetch() metodunun en önemli özelliklerinden biri de, modern JavaScript ES6 desteğine sahip olmasıdır. Bu sayede, arrow function'lar veya template literals kullanarak daha okunaklı ve pratik kodlar yazılabilir.
Bununla birlikte, fetch() metodunun bazı dezavantajları da vardır. Örneğin, fetch() API sadece HTTP isteklerini destekler ve IE11 gibi eski tarayıcılar için tam olarak uyumlu değildir. Ayrıca, isteklerde hata ayıklama yapmak zor olabilir ve fetch() API sadece tek bir isteği işleyebilir.
fetch() metodunun kullanımı oldukça basittir. İlk olarak, fetch() metodu ile sunucudan veri isteği yapılır. Daha sonra, .then() ile verilerin işlenmesi sağlanır. Son olarak, .catch() ile istek sırasında oluşabilecek hataların kontrolü yapılır.
POST Metodu
Post metodunun en temel özelliği, sunucuya veri gönderirken kullanılmasıdır. Post metodu ile gönderilen veriler, URL’de görüntülenmez ve istek gövdesi olarak gönderilir. Gönderilen veriler sunucu tarafından alındıktan sonra, işlem sonucu olarak sunucudan gelen veriler tarayıcı tarafından işlenir. Bu işlem sonucunda ekranda bir sonuç veya işlem geribildirimi görüntülenebilir.
Post metodu ile sunucuya gönderilecek veriler istek gövdesinde JSON formatında veya form verileri olarak gönderilebilir. Bu veriler, sunucu tarafından işlenerek cevap olarak gönderilebilir. Post metodu kullanılarak gönderilen verilerin güvenliği için SSL(TLS) kullanılması önerilmektedir. Bu sayede gönderilen veriler, üçüncü kişiler tarafından okunamaz.
CORS (Cross-Origin Resource Sharing)
CORS, web uygulamalarının önemli bir kısmında yaygın olarak kullanılan bir mekanizmadır. Bu mekanizma, farklı kaynaklardan gelen verilerin paylaşılmasını sağlar ve bu sayede web uygulamalarının daha güvenli hale gelmesini sağlar. CORS, Cross-Origin Resource Sharing kısaltmasıdır ve tarayıcıların web sayfalarında bulunan kaynaklara erişim izinlerinin nasıl yönetildiğini belirler.
Bu mekanizma, HTTP protokolünün bir parçasıdır ve sunucu tarafından sağlanan bir HTTP header’ı ile çalışır. HTTP header’ında kaynakları paylaşmak istediğiniz origin, istenilen kaynağın türü (GET, POST, vb.) ve kaynağa erişim izni belirtilir. Tarayıcılar da bu header’ı inceleyerek kaynaklara erişim izinlerini sağlar veya reddederler.
CORS, özellikle modern web uygulamalarında önemlidir çünkü bu uygulamalar sıklıkla farklı kaynaklardan verileri alıp gönderirler. Bu mekanizma sayesinde, örneğin bir web sayfasının Javascript kodu, farklı bir sunucuda bulunan bir API’den veri alabilir.
Bununla birlikte, CORS kullanımının doğru şekilde yapılması oldukça önemlidir. Yanlış yapılandırılmış CORS ayarları, güvenlik açıkları yaratabilir ve kötü niyetli kullanıcıların sayfalarınıza erişimini sağlayabilir. Bu nedenle, CORS ayarları yaparken dikkatli olmak ve sadece gerekli kaynaklara erişim izni vermek uygun olacaktır.
WebSocket Kullanımı
WebSocket, sunucu ve tarayıcı arasında gerçek zamanlı, iki yönlü iletişim sağlayan bir teknolojidir. Geleneksel HTTP protokolü, sadece istemci tarafından yapılan isteklere cevap verirken, WebSocket sayesinde sunucu tarafından da veri göndermek mümkündür. Bu sayede, bir web uygulaması daha hızlı ve etkileşimli hale getirilebilir.
WebSocket kullanırken, ilk olarak bir bağlantı kurulması gerekir. Bu bağlantıyı kurmak için, WebSocket nesnesinin tasarlanmış olan bir constructor methodu kullanılır. Bu constructor methoduna, WebSocket adresi verilir ve bağlantı otomatik olarak açılır. Adres, "ws://" veya "wss://" ile başlayan bir URL olmalıdır.
Bağlantı kurulduktan sonra, sunucudan gelen mesajlar, onmessage event handler fonksiyonu ile yakalanabilir. Ayrıca, send() methodu kullanılarak da veri sunucuya gönderilebilir. Bu veri, sunucu tarafından işlenir ve cevap olarak, yeniden istemciye gönderilebilir.
WebSocket kullanımı, özellikle gerçek zamanlı, etkileşimli uygulamalar için önemlidir. Örnek olarak, sohbet uygulamaları ve canlı oyunlar gibi uygulamalar kullanılabilir. WebSocket'in avantajı, HTTP gibi tek yönlü veri transferi yaparken oluşan gecikmeleri minimize etmek ve veri transferini gerçekleştirirken daha az güç tüketmek için daha az kaynak kullanımı sağlamasıdır.