İçeriğe atla

WebSocket

WebSocket

WebSocket, tek bir TCP bağlantısı üzerinden tam çift yönlü iletişim kanalı sağlayan bir bilgisayar iletişim protokolüdür. WebSocket protokolü IETF tarafından 2011 yılında RFC 6455 ile standart hale getirilmiş ve WebIDL içerisindeki WebSocket API W3C tarafından standart hale getirilmektedir.

WebSocket, web tarayıcılarında ve web sunucularında uygulanmak üzere tasarlanmıştır, fakat herhangi bir istemci veya sunucu uygulaması tarafından uygulanabilmektedir. WebSocket protokolü, TCP tabanlı bağımsız bir protokoldür. HTTP ile tek ilişkisi, HTTP sunucuları tarafından bir upgrade isteği olarak yorumlanmasıdır.[1] WebSocket protokolü, sunucuya ve sunucudan gerçek zamanlı veri aktarımını sağlayarak, tarayıcı ile web sunucusu arasında etkileşimi sağlamaktadır. Bu, sunucunun istemci istemeden tarayıcıya içerik gönderebileceği ve bağlantıyı açık tutarak istediği zaman mesaj alabilmesini veya gönderebilmesini sağlayan standart bir yöntem ile sağlanmaktadır. Bu şekilde, tarayıcı ile sunucu arasında iki yönlü devam eden bir iletişim gerçekleşebilmektedir. İletişim TCP 80 portu (veya TLS ile şifrelenmiş bağlantılarda 443 portu) üzerinden gerçekleşmektedir ve bu, güvenlik duvarı kullanarak Internet web trafiğini engelleyen ortamlar için bir avantaj olmaktadır. Benzer iki yönlü sunucu-tarayıcı iletişimi Comet gibi standart olmayan stopgap teknolojileri tarafından sağlanmaktaydı.

WebSocket protokolü, Google Chrome, Microsoft Edge, Internet Explorer, Firefox, Safari ve Opera dahil pek çok tarayıcı tarafından desteklenmektedir. WebSocket ayrıca sunucu üzerindeki web uygulamalarının da desteğini gerektirmektedir.

Genel bakış

HTTP’den farklı olarak, WebSocket protokolü tam çift yönlü iletişim sağlamaktadır.[2][3] İlave olarak, WebSocket TCP protokolünün üzerinde mesaj akışına imkân tanımaktadır. TCP tek başına, mesaj kavramı kullanmadan byte akışı ile ilgilenmektedir. WebSocket protokolünden önce, 80 protokolü üzerinden tam çift yönlü iletişim Comet kanalları üzerinden yapılabilmekteydi; fakat, Comet uygulaması çok yaygın değildir ve TCP el sıkışması ve HTTP başlıkları yüzünden küçük mesajlar için verimsiz olmaktadır. WebSocket protokolü, webin güvenlik ilkelerini etkilemeksizin bu problemleri çözmeyi amaçlamaktadır.

WebSocket protokolü tanımı, şifreli ve şifresiz trafik için kullanılan iki yeni uniform resource identifier (URI)[4] formatı olan ws ve wss ifadelerini tanımlamaktadır. Şema adı ve fragment dışında (# desteklenmemektedir), diğer URI bileşenleri için genel URI biçimini kullanacak şekilde tanımlanmıştır.[5]

Tarayıcının Geliştirici Araçlarını kullanarak, geliştiriciler WebSocket paketleri ile WebSocket el sıkışmasını inceleyebilmektedir.[6]

Tarih

WebSocket, HTML5 tanımında ilk olarak, TCP tabanlı soket API’si yerine TCPConnection olarak anılmıştır.[7] Haziran 2008’de, Michael Carter tarafından, WebSocket olarak bilinen protokolün ilk versiyonu olan bir takım çalışma gerçekleştirilmiştir.[8]

Bunun üzerine kısa bir süre sonra Ian Hickson ve Michael Carter tarafından #whatwg IRC chat odasındaki[9] işbirliği ile WebSocket ismi verilmiştir ve sonrasında Ian Hickson tarafından HTML5 tanımında yer alacak şekilde yazılmıştır ve Michael Carter tarafından bir blog üzerinde duyurulmuştur.[10] Aralık 2009’da, varsayılan olarak WebSocket protokolü standartlarını tamamen uygulayan ilk tarayıcı Google Chrome 4 olmuştur.[11] Sonrasında, Şubat 2010’da WebSocket protokolünün geliştirilmesi, W3C ve whatwg IRC grubundan IET’ye geçmiştir ve Ian Hickson gözetiminde iki değişime uğramıştır.[12]

Protokol tamamlandıktan ve birden çok tarayıcı tarafından varsayılan olarak desteklendikten sonra, Aralık 2011’de Ian Fette gözetiminde RFC tamamlanmıştır.[13]

Browser implementation

WebSocket protokolünün güvenli bir versiyonu, Firefox 6,[14] Safari 6, Google Chrome 14,[15] Opera 12.10 ve Internet Explorer 10 tarafından uygulanmaktadır.[16] Detaylı bir protokol test raporu[17] bu tarayıcıların spesifik protokol özelliklerine uyumluluğunu listelemektedir.

Protokolün daha eski ve daha az güvenli bir versiyonu, Opera 11, Safari 5 ve iOS 4.2'de bulunan Safari mobil versiyonunda uygulanmıştır.[18] iOS7'deki BlackBerry tarayıcısı WebSocket protokolünü uygulamaktadır.[19] Açıklıklar yüzünden, Firefox 4 ve 5[20] ile Opera 11[21] üzerinde devre dışı bırakılmıştır.

Ayrıca, SPDY üzerinde WebSocket protokolünün deneysel bir uygulamasına imkân tanıyan Google Chrome için --enable-websocket-over-spdy komut satırı anahtarı bulunmaktadır.[22]

Desteklenme Durumu
Protokol Taslak Tarihi
Internet Explorer Firefox[23] (PC) Firefox (Android) Chrome (PC, Mobile) Safari (Mac, iOS) Opera (PC, Mobile) Android Browser
hixie-7517 Mart 2017 tarihinde Wayback Machine sitesinde arşivlendi. 4 Şubat 2010 4 5.0.0
hixie-76 20 Mart 2017 tarihinde Wayback Machine sitesinde arşivlendi.

hybi-00 20 Mart 2017 tarihinde Wayback Machine sitesinde arşivlendi.

6 Mayıs 2010

23 Mayıs 2010

4.0 (devre dışı bırakıldı) 6 5.0.1 11.00 (disabled)
7 hybi-07 20 Mart 2017 tarihinde Wayback Machine sitesinde arşivlendi. 22 Nisan 2011 6[24][a]
8 hybi-10 20 Mart 2017 tarihinde Wayback Machine sitesinde arşivlendi. 11 Temmuz 2011 7[26][a]7 14[27]
13 RFC 6455Aralık 2011 10[28]11 11 16[29]6 12.10[30]4.4

Protokol El Sıkışması

Bir WebSocket bağlantısı kurmak için istemci, aşağıdaki örnekte gösterildiği gibi sucununun WebSocket el sıkışma cevabı gönderdiği bir WebSocket el sıkışma isteği göndermektedir.[31]

İstemci isteği (HTTP’de olduğu gibi, her bir satır \r\n ile bitmektedir ve sonda ilave bir boş satır bulunmak zorundadır):

GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com

Sunucunun cevabı:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat

El sıkışma, sunucuların aynı port üzerinden hem HTTP bağlantılarını hem de WebSocket bağlantılarını işleyebilmesi açısından HTTP’ye benzemektedir. Bağlantı kurulduğunda, iletişim, HTTP protokolüne uymayan iki taraflı bir ikili protokole dönüşmektedir.

Upgrade başlığına ek olarak, istemci base64 ile kodlanmış rastgele bytelardan oluşan bir Sec-WebSocket-Key başlığını da göndermektedir. Sunucu ise Sec-WebSocket-Accept başlığı ile anahtar değerinin özeti ile cevap vermektedir. Bu yöntem, önceki bir WebSocket trafiğinin tekrar oynatılmasını engellemeye çalışmaktadır[32] ve herhangi bir kimlik doğrulama, gizlilik veya bütünlük kontrolü sağlamamaktadır. Özet fonksiyonu 258EAFA5-E914-47DA-95CA-C5AB0DC85B11 sabit değerini Sec-WebSocket-Key başlığındaki (base64 kodlaması çözülmemiş) değere eklemekte, SHA-1 özet fonksiyonunu uygulamakta ve sonucu base64 kullanarak kodlamaktadır.[33]

Bağlantı kurulduktan sonra, istemci ve sunucu WebSocket verisini tam çift yönlü modda gönderebilmektedir. Veri, payload tarafından takip edilen küçük bir başlık ile minimal bir şekilde çerçevelenmektedir. WebSocket iletişimi, tek bir mesajın birkaç veri çerçevesi içerisine dağılabileceği mesajlarla tanımlanmaktadır. Bu, verinin ilk kısmının bilindiği fakat mesajın toplam büyüklüğünün bilinmediği durumlarda, mesajların gönderilebilmesine izin vermektedir (FIN biti ile işaretlenip sona erişilene kadar veri çerçevelerini arka arkaya göndermektedir). Protokol üzerinde yapılan eklentilerle, farklı veri akışlarının eş zamanlı olarak çoklanması için de kullanılabilmektedir (örneğin bir soketin kullanımını tek bir büyük payload için tekelleştirilmesini önlemek için).

(Güvenlik açısından) Sunucu tarafında bağlantı kurulurken Origin başlığının doğrulanması, Siteler Arası WebSocket Çalma (Cross-Site WebSocket Hijacking) saldırılarına karşı koruma açısından önem taşımaktadır. Bu saldırı bağlantı çerezler veya HTTP kimlik doğrulaması ile doğrulandığında mümkün olabilmektedir. WebSocket üzerinden hassas veriler iletilirken, WebSocket bağlantısını doğrulamak için token veya benzer koruma mekanizmalarının kullanılması faydalı olacaktır.[34]

Proxy geçişi

WebSocket protokolü istemci uygulamaları, web tarayıcısının hedef makine ve porta bağlanırken bir vekil sunucu kullanıp kullanmadığını tespit etmeye çalışmaktadır ve eğer kullanıyorsa, kalıcı bir tünel oluşturmak için HTTP CONNECT metodunu kullanmaktadır.

WebSocket protokolünün kendisi vekil sunucuların ve güvenlik duvarlarının farkında olmasa da, HTTP’ye uygun bir el sıkışmayı desteklemektedir ve böylece HTTP sunucularının varsayılan HTTP ve HTTPS portlarını (80 ve 443) bir WebSocket ağ geçidiyle veya sunucusuyla paylaşmasına izin vermektedir. WebSocket protokolü, WebSocket ve Güvenli WebSocket bağlantılarını belirtmek için ws:// ve wss:// öneklerini tanımlamaktadır. Her iki yöntemde, bağlantıyı WebSocket’a yükseltmek için bir HTTP yükseltme mekanizması kullanmaktadır. Bazı vekil sunucular şeffaftır ve WebSocket ile çalışabilmektedir; diğerleri ise WebSocket protokolünün çalışmasını engelleyecektir ve bağlantının sonlanmasına yol açacaktır. Bazı durumlarda, ilave vekil sunucu yapılandırması gerekebilmektedir ve bazı vekil sunucuların WebSocket protokolünü desteklemesi için yükseltilmesi gerekebilmektedir.

Eğer şifrelenmemiş WebSocket trafiği, WebSocket desteği olmayan bir şeffaf vekil sunucu üzerinden akıyorsa, bağlantı muhtemelen başarısız olacaktır.[35]

Eğer şifreli WebSocket bağlantısı kullanılıyorsa, Güvenli WebSocket bağlantısında Transport Layer Security (TLS) kullanılması, tarayıcı bir vekil sunucu kullanacak şekilde yapılandırıldığında, HTTP CONNECT komutunun çalıştırılmasını sağlamaktadır. Bu, Güvenli WebSocket istemcisi ile WebSocket sunucusu arasında HTTP vekil sunucusu aracılığıyla düşük seviye birebir TCP iletişimini sağlayan bir tünel kurmaktadır. Şeffaf vekil sunucularda, tarayıcı vekil sunucunun varlığından habersizdir ve hiçbir HTTP CONNECT paketi yollanmamaktadır. Ancak, kablodaki trafik şifreli olduğu için, aradaki şeffaf vekil sunucular şifreli trafiğin geçmesine izin verebilmektedir. Bu yüzden, Güvenli WebSocket kullanıldığında, WebSocket bağlantısının başarılı olma ihtimali artmaktadır. Şifrelemenin olması kaynak kullanımı açısından bir miktar yük oluşturacaktır, fakat güvenli bir tünel üzerinden geçebileceği için daha yüksek bir başarı oranı sağlamaktadır.

2010 ortalarında verilen bir taslak (hixie-76 versiyonu) ters vekil sunucularla ve ağ geçitleriyle uyumluluğu, başlıklardan sonra 8 byte’dan oluşan bir anahtar eklediği ve bu anahtarı Content-Length: 8 başlığında belirtmediği için bozmuştur.[36] Bu veri tüm aradaki cihazlar tarafından iletilmeyeceği için protokol başarısızlığına yol açabilmektedir. Bu yüzden, daha yeni taslaklar (örneğin hybi-09[37]) bu problemi çözerek anahtar veriyiSec-WebSocket-Key başlığına koymaktadır.

Ayrıca bakınız

Notlar

  1. ^ a b Gecko-based browsers versions 6–10 implement the WebSocket object as "MozWebSocket",[25] requiring extra code to integrate with existing WebSocket-enabled code.

Kaynakça

  1. ^ Ian Fette; Alexey Melnikov (Aralık 2011), "1.7-Relationship to TCP and HTTP", RFC 6455 The WebSocket Protocol, IETF, doi:10.17487/RFC6455, RFC 6455 
  2. ^ "Glossary:WebSockets". Mozilla Developer Network. 2015. 14 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2017. 
  3. ^ "HTML5 WebSocket: A Quantum Leap in Scalability for the Web". 1 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2017. 
  4. ^ Graham Klyne, (Ed.) (14 Kasım 2011). "IANA Uniform Resource Identifer (URI) Schemes". Internet Assigned Numbers Authority. 25 Nisan 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  5. ^ Ian Fette; Alexey Melnikov (Aralık 2011), "3-WebSocket URIs", RFC 6455 The WebSocket Protocol, IETF, doi:10.17487/RFC6455, RFC 6455 
  6. ^ Wang, Vanessa; Salim, Frank; Moskovits, Peter (Şubat 2013). "APPENDIX A: WebSocket Frame Inspection with Google Chrome Developer Tools". The Definitive Guide to HTML5 WebSocket. Apress. ISBN 978-1-4302-4740-1. 31 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Nisan 2013. 
  7. ^ "HTML 5". www.w3.org. 16 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2016. 
  8. ^ "[whatwg] TCPConnection feedback from Michael Carter on 2008-06-18 (whatwg.org from June 2008)". lists.w3.org. 27 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2016. 
  9. ^ "IRC logs: freenode / #whatwg / 20080618". krijnhoetmer.nl. 21 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Nisan 2016. 
  10. ^ "Comet Daily » Blog Archive » Independence Day: HTML5 WebSocket Liberates Comet From Hacks". 23 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2016. 
  11. ^ "Web Sockets Now Available In Google Chrome". Chromium Blog (İngilizce). 31 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2016. 
  12. ^ <ian@hixie.ch>, Ian Hickson. "The WebSocket protocol". tools.ietf.org. 17 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2016. 
  13. ^ <ian@hixie.ch>, Ian Hickson. "The WebSocket protocol". tools.ietf.org. 6 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2016. 
  14. ^ Dirkjan Ochtman (27 Mayıs 2011). "WebSocket enabled in Firefox 6". Mozilla.org. 26 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 30 Haziran 2011. 
  15. ^ "Chromium Web Platform Status". 4 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ağustos 2011. 
  16. ^ "WebSockets (Windows)". Microsoft. 28 Eylül 2012. 25 Mart 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Kasım 2012. 
  17. ^ "WebSockets Protocol Test Report". Tavendo.de. 27 Ekim 2011. 22 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  18. ^ Katie Marsal (23 Kasım 2010). "Apple adds accelerometer, WebSockets support to Safari in iOS 4.2". AppleInsider.com. 8 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2011. 
  19. ^ "Web Sockets API". BlackBerry. 10 Haziran 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Temmuz 2011. 
  20. ^ Chris Heilmann (8 Aralık 2010). "WebSocket disabled in Firefox 4". Hacks.Mozilla.org. 6 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2011. 
  21. ^ Aleksander Aas (10 Aralık 2010). "Regarding WebSocket". My Opera Blog. 15 Aralık 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mayıs 2011. 
  22. ^ Peter Beverloo. "List of Chromium Command Line Switches". peter.sh. 8 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  23. ^ "WebSockets (support in Firefox)". developer.mozilla.org. Mozilla Foundation. 30 Eylül 2011. 26 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  24. ^ "Bug 640003 - WebSockets - upgrade to ietf-06". Mozilla Foundation. 8 Mart 2011. 1 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  25. ^ "WebSockets - MDN". developer.mozilla.org. Mozilla Foundation. 30 Eylül 2011. 26 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  26. ^ "Bug 640003 - WebSockets - upgrade to ietf-07(comment 91)". Mozilla Foundation. 22 Temmuz 2011. 1 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2017. 
  27. ^ "Chromium bug 64470". code.google.com. Google. 25 Kasım 2010. 31 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  28. ^ "WebSockets in Windows Consumer Preview". IE Engineering Team. Microsoft. 19 Mart 2012. 6 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Temmuz 2012. 
  29. ^ "WebKit Changeset 97247: WebSocket: Update WebSocket protocol to hybi-17". trac.webkit.org. 5 Ocak 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  30. ^ "A hot Opera 12.50 summer-time snapshot". Opera Developer News. 3 Ağustos 2012. 5 Ağustos 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Ağustos 2012. 
  31. ^ Ian Fette; Alexey Melnikov (Aralık 2011), "1.2-Protocol Overview", RFC 6455 The WebSocket Protocol, IETF, doi:10.17487/RFC6455, RFC 6455 
  32. ^ "Main Goal of WebSocket protocol". IETF. 22 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Temmuz 2015. The computation [...] is meant to prevent a caching intermediary from providing a WS-client with an cached WS-server reply without actual interaction with the WS-server. 
  33. ^ Ian Fette; Alexey Melnikov (Aralık 2011), "1.3-Opening Handshake", RFC 6455 The WebSocket Protocol, IETF, p. 8, doi:10.17487/RFC6455, RFC 6455 
  34. ^ Christian Schneider (31 Ağustos 2013). "Cross-Site WebSocket Hijacking (CSWSH)". Web Application Security Blog. 31 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2017. 
  35. ^ Peter Lubbers (16 Mart 2010). "How Web Sockets Interact With Proxy Servers". C4Media Inc. 8 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  36. ^ Willy Tarreau (6 Temmuz 2010). "WebSocket -76 is incompatible with HTTP reverse proxies" (email). Internet Engineering Task Force. 17 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Aralık 2011. 
  37. ^ Ian Fette (13 Haziran 2011).

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">HTTP</span> iletişim protokolü

HTTP bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, World Wide Web için veri iletişiminin temelidir; burada köprü metni belgeleri, örneğin bir fare tıklamasıyla veya bir web tarayıcısında ekrana dokunarak kullanıcının kolayca erişebileceği diğer kaynaklara köprüler içerir.

POP3, OSI referans modelinin uygulama katmanında çalışan bir E-posta iletişim protokolüdür. Bu protokol yerel E-posta alıcıları tarafından uzak sunucudan E-postaları indirmek için kullanılır ve bu işlem TCP 110 numaralı port üzerinden gerçekleştirilir. POP ve IMAP günümüzde en çok kullanılan iki e-posta protokolüdür. Tüm güncel e-posta alıcıları ve sunucuları iki protokolü de destekler. POP birkaç versiyon olarak geliştirilmiştir ve şu anda standart olarak kullanılanı 3. versiyonudur. Bu yüzden POP3 adı kullanılır.

Bilgi işlemde, İnternet Mesaj Erişim Protokolü (IMAP), e-posta istemcilerinin bir TCP/IP bağlantısı üzerinden bir posta sunucusundan e-posta mesajları almak için kullandığı bir İnternet standart protokolüdür. IMAP, RFC 9051 tarafından tanımlanır.

<span class="mw-page-title-main">Dosya aktarım iletişim kuralı</span> Bilgisayarcılık terimi

Dosya aktarım iletişim kuralı,, bir veri yığınının - ASCII, EBCDIC ve binary- bir uç aygıttan diğerine iletimi için kullanılmaktadır.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

<span class="mw-page-title-main">İnternet iletişim kuralları dizisi</span>

İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

HTTPS bir bilgisayar ağı üzerinden güvenli iletişim için internet üzerinde yaygın olarak kullanılan bir HTTP uzantısıdır. HTTPS'te, iletişim protokolü Taşıma Katmanı Güvenliği (TLS) veya öncesinde, onun öncülü/selefi olan Güvenli Soket Katmanı (SSL) ile şifrelenir. Bu nedenle protokol sık sık TLS üzerinden HTTP veya SSL üzerinden HTTP olarak da adlandırılır.

Ağ Dosya Sistemi, Network file system, yani ağ dosya sistemi diğer bilgisayarlardaki dosyalara erişilebilmesini sağlayan bir yerel ağ işletim sisteminin parçasıdır. Bilgisayarlarda kullanılan programların network makinalarında kullanılmasını sağlar. Sun Microsystems tarafından 1984 yılında geliştirilmiş, ağdaki bilgisayarların ortak bir dosya sistemine, yerel diskleri kadar kolay ulaşmasını sağlayan, RPC temelli dağıtık dosya sistemi yapısıdır.

<span class="mw-page-title-main">SIP</span>

Oturum başlatma Protokolü (SIP), ses, video ve mesajlaşma uygulamalarını içeren gerçek zamanlı oturumları başlatmak, sürdürmek ve sonlandırmak için kullanılan bir sinyal protokolüdür. VoIP gibi IP üzerinden üzerinden ses, görüntü ve anlık mesaj iletişimi yanı sıra LTE (VoLTE) üzerinden cep telefonu araması için multimedya iletişim oturumlarını sinyalize etmek ve kontrol etmek için kullanılır. Günümüz IP Telefonlarının çoğunluğu SIP Protokolü ile çalışmaktadır. Cisco gibi bazı üreticiler SIP kullanmakla beraber bazı telefon modellerinde SCCP tercih etmektedir.

<span class="mw-page-title-main">TCP</span>

TCP (Transmission Control Protocol), TCP/IP protokol takımının taşıma katmanı protokollerinden birisidir. Son güncellemesi Ağustos 2022 tarihi itibarıyla RFC 9293 içerisinde tanımlanmıştır.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

İngilizce: Lightweight Directory Access Protocol veya kısaca LDAP TCP/IP üzerinde çalışan indeks servislerini sorgulama ve değiştirme amacıyla kullanılan uygulama katmanı protokolü.

<span class="mw-page-title-main">World Wide Web</span> internet kullanarak ulaşılan, birbirine bağlı belgelerden oluşan küresel sistem

World Wide Web, Dünya Çapında Ağ (kısaca WWW veya Web), İnternet üzerinde yayınlanan birbirleriyle bağlantılı hiper-metin dokümanlarından oluşan bir bilgi sistemidir. Bu dokümanların her birine Web sayfası adı verilir ve Web sayfalarına İnternet kullanıcısının bilgisayarında çalışan Web tarayıcısı adı verilen bilgisayar programları aracılığıyla erişilir. Web sayfalarında metin, imaj, video ve diğer multimedya ögeleri bulunabilir ve diğer bağlantı ya da link adı verilen hiper-bağlantılar ile başka Web sayfalarına geçiş yapılabilir.

Bilgisayar ağları konusunda geçen Önyükleme Protokolü veya BOOTP, bir yapılandırma sunucusundan bir IP adresi almak için bir ağ istemcisi tarafından kullanılan bir ağ protokolüdür. BOOTP protokolü ilk olarak RFC 951 içerisinde tanımlanmıştı.

Tünel protokolü, bir ağ protokolü farklı bir yük-taşıma protokolü içerdiğinde bilgisayar ağ bağlantısı, bir tünel protokolü kullanır. Tünel protokolü kullanılarak, uyumsuz olan bir iletim protokolü üzerinde bir yük-taşıma taşınabilir ya da güvenilmeyen ağlarda güvenli bir yol oluşumu sağlanabilir.

HTTP/2 Dünya Çapında Ağ Birliği tarafından kullanılan HTTP ağ protokolünün ikinci ana sürümüdür. SPDY tabanlıdır. HTTP/2, İnternet Mühendisliği Çalışma Kolu'nun Hiper Metin İletim Protokolü çalışma grubu(httpbis, bis burada “tekrar” veya “iki defa” anlamına gelmektedir.) tarafından geliştirilmiştir. HTTP/2, 1997'de RFC 2068 bünyesinde standart haline getirilen HTTP 1.1'den beri gelen ilk yeni HTTP sürümüdür. Çalışma grubu HTTP/2'yi IESG'ye önerilen standart olarak incelenmesi için 2014 Aralık ayında sunmuştur ve IESG 17 Şubat 2015'te bunun önerilen standart olarak yayınlanmasını onaylamıştır. HTTP/2 belirtimi 2015 Mayıs ayında RFC 7540 olarak yayınlanmıştır.

HTTP Katı Taşıma Güvenliği (HSTS), web sitelerini protokol indirgeme ve oturum çalma saldırılarına karşı korumaya yardımcı olan bir web güvenlik politikası mekanizmasıdır. Web sunucuları, kendisine gönderilen isteklerin yalnızca HTTPS üzerinden olması gerektiğini web tarayıcılarına bu mekanizma ile belirtir. Bu sayede kullanıcı, herhangi bir güvenlik çözümü sunmayan HTTP yerine Taşıma Katmanı Güvenliği (TLS/SSL) sağlayan HTTPS kullanarak ilgili web sitesine erişim sağlar. HSTS, RFC 6797 ile detaylandırılan bir IETF Standards Track protokolüdür.

WebRTC, web tarayıcılarına ve mobil uygulamalara basit uygulama geliştirme arayüzü (API'ler) aracılığıyla gerçek zamanlı iletişim (RTC) sağlayan ücretsiz, açık kaynaklı bir projedir. Direkt olarak eşler arası iletişime izin vermesi ile, eklenti yükleme veya uygulama indirme ihtiyacını ortadan kaldırarak, ses ve video iletişiminin web sayfalarında kolaylıkla kullanılmasını sağlar. Apple, Google, Microsoft, Mozilla ve Opera tarafından desteklenen WebRTC, World Wide Web Konsorsiyumu (W3C) ve İnternet Mühendisliği Görev Gücü (IETF) aracılığıyla standartlaştırılmaktadır.

Bilgisayar ağlarında bağlantı noktası (port) veya bağlantı noktası numarası, bir bağlantı uç noktasını benzersiz bir şekilde tanımlamak ve verileri belirli bir hizmete yönlendirmek için atanan sanal bir numaradır. Yazılım düzeyinde, bir işletim sistemi içinde, bir bağlantı noktası belirli bir işlem veya bir ağ hizmeti türünü tanımlayan mantıksal bir yapıdır. Yazılım düzeyindeki bir bağlantı noktası, her taşıma katmanı protokolü ve adres kombinasyonu için kendisine atanan bağlantı noktası numarasıyla tanımlanır. Port numaralarını kullanan en yaygın taşıma protokolleri TCP ve UDP 'dir; bu port numaraları 16 bitlik işaretsiz sayılardır.

HTTP 403, istenen kaynağa erişimin yasak olduğu anlamına gelen bir HTTP durum kodudur. Bu kodun gösterilmesinin anlamı: sunucu isteği anladı, ancak yerine getirmeyecek.