{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"WebSockets'e Gerek Kalmayabilir: Server-Sent Events'in Basit G\u00fcc\u00fc","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"8J5xZeiPLT\"><a href=\"https:\/\/fatihsoysal.com\/blog\/websocketse-gerek-kalmayabilir-server-sent-eventsin-basit-gucu\/\">WebSockets&#8217;e Gerek Kalmayabilir: Server-Sent Events&#8217;in Basit G\u00fcc\u00fc<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/websocketse-gerek-kalmayabilir-server-sent-eventsin-basit-gucu\/embed\/#?secret=8J5xZeiPLT\" width=\"600\" height=\"338\" title=\"&#8220;WebSockets&#8217;e Gerek Kalmayabilir: Server-Sent Events&#8217;in Basit G\u00fcc\u00fc&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"8J5xZeiPLT\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Modern web uygulamalar\u0131, kullan\u0131c\u0131lara anl\u0131k ve dinamik bir deneyim sunma aray\u0131\u015f\u0131nda. Canl\u0131 sohbetler, borsa takipleri, bildirim ak\u0131\u015flar\u0131 ve anl\u0131k analiz g\u00f6sterge tablolar\u0131 gibi bir\u00e7ok senaryo, sunucudan istemciye ger\u00e7ek zamanl\u0131 veri ak\u0131\u015f\u0131n\u0131 gerektiriyor. Bu ihtiya\u00e7 akla ilk olarak genellikle WebSockets teknolojisini getirir; \u00e7ift y\u00f6nl\u00fc, tam dubleks bir ileti\u015fim kanal\u0131 sunmas\u0131yla tan\u0131n\u0131r. Ancak, her ger\u00e7ek zamanl\u0131 veri ihtiyac\u0131nda WebSockets kullanmak ger\u00e7ekten en iyi \u00e7\u00f6z\u00fcm m\u00fcd\u00fcr? Genellikle g\u00f6z ard\u0131 edilen, daha basit ve daha verimli bir alternatif olan Server-Sent Events (SSE), belirli kullan\u0131m durumlar\u0131nda m\u00fckemmel bir se\u00e7enek olabilir. Bu makalede, WebSockets'in karma\u015f\u0131kl\u0131\u011f\u0131na girmeden, tek y\u00f6nl\u00fc ger\u00e7ek zamanl\u0131 veri ak\u0131\u015f\u0131n\u0131 nas\u0131l kolayca sa\u011flayabilece\u011fimizi ve Server-Sent Events'in g\u00fcc\u00fcn\u00fc ke\u015ffedece\u011fiz. WebSockets'e k\u0131yasla daha az kaynak t\u00fcketen ve daha kolay y\u00f6netilebilen SSE, \u00f6zellikle sunucudan istemciye s\u00fcrekli bilgi ak\u0131\u015f\u0131 gerektiren uygulamalar i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu teknik, istemcilerin sunucuya s\u00fcrekli istek g\u00f6nderme (polling) ihtiyac\u0131n\u0131 ortadan kald\u0131rarak a\u011f trafi\u011fini ve sunucu y\u00fck\u00fcn\u00fc azalt\u0131r. Dahas\u0131, taray\u0131c\u0131lar\u0131n yerle\u015fik EventSource API'si sayesinde kullan\u0131m\u0131 olduk\u00e7a basittir, bu da geli\u015ftirme s\u00fcrecini h\u0131zland\u0131r\u0131r."}