SlideShare une entreprise Scribd logo
1  sur  11
Dev Concepts
Networking for
Developers
OSI Model,
TCP/IP, HTTP,
Networking
and Internet
Protocols
The OSI
Model and
 Communication in Internet uses networking protocols
 The OSI model defines 7 layers
of networking protocols
 The TCP/IP protocol suite
Networking and Internet Protocols
3
HTTP
HTTP & Socket
Communication
5
 Most applications communicate through HTTP or sockets
 HTTP is "request / response" based protocol for the Web
 Clients request resources (GET / POST / PUT / DELETE request)
 The Web server provides the resource (HTTP response)
 Sockets are bidirectional communication streams
 Web sockets are sockets that run over HTTP
 Allow JavaScript client to communicate
with the Web server bidirectionally
HTTP and Socket Communication
Socket-Based
Communication
Real-World Example
7
 Telegram Messenger
Real-World Example of Socket Communication
 The "Brawl Stars"
Game
 The Live Crypto
Prices Dashboard
@ Investing.com
8
Example of Web Socket Communication
Live Demo
WebSocket
https://www.websocket.org/echo.html
https://repl.it/@nakov/websocket-server-js
https://repl.it/@nakov/websocket-client-js
 …
 …
 …
Next Steps
 Join the SoftUni "Learn To Code" Community
 Access the Free Dev Lessons
 Get Help from the Mentors
 Meet the Other Learners
https://softuni.org
 …
 …
 …
Join the SoftUni Community
softuni.o
rg

Contenu connexe

Tendances

What is Socket Programming in Python | Edureka
What is Socket Programming in Python | EdurekaWhat is Socket Programming in Python | Edureka
What is Socket Programming in Python | EdurekaEdureka!
 
Python Network Programming – Course Applications Guide
Python Network Programming – Course Applications GuidePython Network Programming – Course Applications Guide
Python Network Programming – Course Applications GuideMihai Catalin Teodosiu
 
Simple chat room using python
Simple chat room using pythonSimple chat room using python
Simple chat room using pythonVISHAL VERMA
 
Network Programming in Java
Network Programming in JavaNetwork Programming in Java
Network Programming in JavaTushar B Kute
 
Networking
NetworkingNetworking
NetworkingTuan Ngo
 
บทที่ 2 โพรโตคอล (protocol)
บทที่  2 โพรโตคอล (protocol)บทที่  2 โพรโตคอล (protocol)
บทที่ 2 โพรโตคอล (protocol)chrisman77
 
Networking Java Socket Programming
Networking Java Socket ProgrammingNetworking Java Socket Programming
Networking Java Socket ProgrammingMousmi Pawar
 
Networking & Socket Programming In Java
Networking & Socket Programming In JavaNetworking & Socket Programming In Java
Networking & Socket Programming In JavaAnkur Agrawal
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using javaUC San Diego
 
Transport Layer Numericals
Transport Layer NumericalsTransport Layer Numericals
Transport Layer NumericalsManisha Keim
 
Java Socket Programming
Java Socket ProgrammingJava Socket Programming
Java Socket ProgrammingVipin Yadav
 

Tendances (20)

Python network programming
Python   network programmingPython   network programming
Python network programming
 
What is Socket Programming in Python | Edureka
What is Socket Programming in Python | EdurekaWhat is Socket Programming in Python | Edureka
What is Socket Programming in Python | Edureka
 
Ipv6^ new
Ipv6^ newIpv6^ new
Ipv6^ new
 
Md13 networking
Md13 networkingMd13 networking
Md13 networking
 
Tcp/ip server sockets
Tcp/ip server socketsTcp/ip server sockets
Tcp/ip server sockets
 
Python Network Programming – Course Applications Guide
Python Network Programming – Course Applications GuidePython Network Programming – Course Applications Guide
Python Network Programming – Course Applications Guide
 
Simple chat room using python
Simple chat room using pythonSimple chat room using python
Simple chat room using python
 
Network Programming in Java
Network Programming in JavaNetwork Programming in Java
Network Programming in Java
 
Networking
NetworkingNetworking
Networking
 
บทที่ 2 โพรโตคอล (protocol)
บทที่  2 โพรโตคอล (protocol)บทที่  2 โพรโตคอล (protocol)
บทที่ 2 โพรโตคอล (protocol)
 
Networking Java Socket Programming
Networking Java Socket ProgrammingNetworking Java Socket Programming
Networking Java Socket Programming
 
Networking & Socket Programming In Java
Networking & Socket Programming In JavaNetworking & Socket Programming In Java
Networking & Socket Programming In Java
 
Java sockets
Java socketsJava sockets
Java sockets
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
 
Session 6
Session 6Session 6
Session 6
 
Ipaddressing spk1
Ipaddressing spk1Ipaddressing spk1
Ipaddressing spk1
 
Transport Layer Numericals
Transport Layer NumericalsTransport Layer Numericals
Transport Layer Numericals
 
Networking
NetworkingNetworking
Networking
 
Networking
NetworkingNetworking
Networking
 
Java Socket Programming
Java Socket ProgrammingJava Socket Programming
Java Socket Programming
 

Similaire à Dev Concepts: Introduction to Networking for Developers

Codecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web socketsCodecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web socketsCodecamp Romania
 
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSocketsCodecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSocketsFlorin Cardasim
 
Dev con kolkata 2012 websockets
Dev con kolkata 2012   websocketsDev con kolkata 2012   websockets
Dev con kolkata 2012 websocketsSANKARSAN BOSE
 
V2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketV2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketbrent bucci
 
Mail Server Project Report
Mail Server Project ReportMail Server Project Report
Mail Server Project ReportKavita Sharma
 
Socket Programming - nitish nagar
Socket Programming - nitish nagarSocket Programming - nitish nagar
Socket Programming - nitish nagarNitish Nagar
 
Java Networking
Java NetworkingJava Networking
Java NetworkingSunil OS
 
HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebPeter Lubbers
 
video conference (peer to peer)
video conference (peer to peer)video conference (peer to peer)
video conference (peer to peer)mohamed amr
 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On FireJef Claes
 
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01purans
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)Ericom Software
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010Andri Yadi
 

Similaire à Dev Concepts: Introduction to Networking for Developers (20)

Codecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web socketsCodecamp iasi-26 nov 2011-web sockets
Codecamp iasi-26 nov 2011-web sockets
 
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSocketsCodecamp Iasi-26 nov 2011 - Html 5 WebSockets
Codecamp Iasi-26 nov 2011 - Html 5 WebSockets
 
Dev con kolkata 2012 websockets
Dev con kolkata 2012   websocketsDev con kolkata 2012   websockets
Dev con kolkata 2012 websockets
 
V2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocketV2 peter-lubbers-sf-jug-websocket
V2 peter-lubbers-sf-jug-websocket
 
Mail Server Project Report
Mail Server Project ReportMail Server Project Report
Mail Server Project Report
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
 
J web socket
J web socketJ web socket
J web socket
 
WebSockets - Boosting Web Communication - SDC 2011
WebSockets - Boosting Web Communication - SDC 2011WebSockets - Boosting Web Communication - SDC 2011
WebSockets - Boosting Web Communication - SDC 2011
 
Socket Programming - nitish nagar
Socket Programming - nitish nagarSocket Programming - nitish nagar
Socket Programming - nitish nagar
 
Unit 8 Java
Unit 8 JavaUnit 8 Java
Unit 8 Java
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the Web
 
Lecture25
Lecture25Lecture25
Lecture25
 
video conference (peer to peer)
video conference (peer to peer)video conference (peer to peer)
video conference (peer to peer)
 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On Fire
 
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
Jwebsocketmobiletechcon2010en 100912071225 Phpapp01
 
jWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerry
jWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerryjWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerry
jWebSocket MobileTechCon 2010 - WebSockets on Android, Symbian and BlackBerry
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010
 
Websocket
WebsocketWebsocket
Websocket
 

Plus de Svetlin Nakov

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиSvetlin Nakov
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024Svetlin Nakov
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and StartupsSvetlin Nakov
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)Svetlin Nakov
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for EntrepreneursSvetlin Nakov
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Svetlin Nakov
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal LifeSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПSvetlin Nakov
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТSvetlin Nakov
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the FutureSvetlin Nakov
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023Svetlin Nakov
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperSvetlin Nakov
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their FutureSvetlin Nakov
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobSvetlin Nakov
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецептаSvetlin Nakov
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?Svetlin Nakov
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)Svetlin Nakov
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Svetlin Nakov
 

Plus de Svetlin Nakov (20)

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for Entrepreneurs
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal Life
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин Наков
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООП
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the Future
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a Developer
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their Future
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a Job
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецепта
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)
 

Dernier

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 

Dernier (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 

Dev Concepts: Introduction to Networking for Developers

Notes de l'éditeur

  1. Hello, I am Svetlin Nakov from SoftUni (the Software University). Welcome back to my Dev Concepts series. This lesson is all about networking. I will review the networking protocols – the OSI model and the TCP/IP protocol suite. I will also talk about the HTTP protocol and web sockets! We will see several real-world examples to make sure you understand the concepts well. Are you ready to get started! Let's go!
  2. Internet communication uses network protocols. Protocols are standards for communication over the network, and define how participants send, receive and process communication messages to talk to each other. Networking protocols follow the OSI reference model, which structures the network communication in layers. Internet communication uses a simplified model, called the TCP/IP protocol suite. Let’s learn more about networking, protocols, the OSI model and the TCP/IP protocol suit.
  3. Networking and Internet protocols play an important role in software development. Communication in Internet uses networking protocols. Protocols define the technical standards for communication between two systems, for example a mobile app and a Web server. The OSI model defines 7 layers of networking protocols. OSI stands for "Open Systems Interconnection" and defines a framework on which modern networking and communication standards are based. The 7 layers of the OSI model are: Layer 1: the Physical layer. It is responsible for the physical connection between two or more parties. At the physical layer, the data is carried by electrical impulses (using electrical cables), radio signals (in wireless communication), or light (using optical cables). The physical layer specifications define characteristics such as voltage levels, the timing of voltage changes, physical data rates, maximum transmission distances, modulation scheme, channel access method, physical connectors and many more. The physical layer is part of the specifications of the USB, Bluetooth, Ethernet and WiFi standards. Repeaters, hubs and antennas are typical devices at the physical layer. Layer 2: the Data Link layer. It provides node-to-node data transfer – a link between two directly connected nodes in the same network. The data transferred is split into packets called "frames". Layer 2 hardware, such as Ethernet adapters and modems are responsible for transmitting the frames over the physical connections. At layers 2 communication devices are identified by hardware addresses, such as MAC address. Typical data link layer protocols are Ethernet and PPP. Network switches are typical hardware for the layer 2 (the data link layer). Layer 3: the Network layer. Layer 3 networking protocols (such as IP, IPv6, IPSec, ICMP and IGMP) transfer packets (such as IP packets) between two nodes at two different networks. Packets typically pass through several routers to reach their destination. The routing of the packets is an important concept for the layer 3 networking. Routers are typical hardware for the layer 3 (the network layer). The concept of "IP address" comes from the layer 3 and is important for software developers. Layer 4: the Transport layer. The transport layer protocols (such as TCP, UDP and QUIC) are responsible for end-to-end communication between the two endpoints. These protocols transfer data, split into pieces called "segments", and handle the flow control and error control during the communication. For example, if an IP packet at layer 3 is lost, it will not be retransmitted and it will never arrive, but layer 4 protocol TCP retransmit the lost TCP segments and maintain streams of data between the endpoints. An important concept from the developer's perspective at layer 4 is the port number. Port numbers allow maintaining multiple parallel stream connections between two endpoints. Layer 5: the Session layer. It controls the dialogues (connections) between computers. It establishes, manages and terminates connections between the local and remote application. Example protocols at layer 5 are RPC (Remote Procedure Call) and virtual private networking protocols like PPTP. Layer 6: the Presentation layer. It is responsible for translation, encryption, and compression of data. Example protocols at layer 5 are SSL (Secure Socket Layer) and TLS (Transport Layer Security). Layer 7: the Application layer. This is the only layer that directly interacts with data from the user. Software applications like Web browsers and Email clients rely directly on the application layer protocols. The "Application layer" is the most important for software engineers from all the OSI layers, because the code developers write, directly interacts at this layer. Typical application level protocols are: HTTP, SMTP, POP3, IMAP, FTP, DNS and many others. The HTTP protocol connects Web clients with the Web servers and allows downloading resources from the Web. The SMTP, POP3 and IMAP protocols are used by email clients to send and read emails. Many other protocols operate at the application layer and you will encounter some of them in your career as a software engineer. The 7-layer OSI model is too complicated. It is designed for network engineers and communication experts. In software development a simplified networking model exists. It is called "The TCP/IP protocol suite" and it consists of only 4 layers: Link layer, which combines physical media and data link protocols, such as Ethernet. Internet layer, which transmits packets between two hosts in Internet, using the network protocols IP or IPv6. Transport layer, which provides communication between two endpoints, using the TCP, UDP or QUIC protocols. Application layer, which defines how two applications (client and server) talk to each other. Protocols like HTTP, HTTPS, SMTP, SMTPS, DNS and DNSSEC operate at the application level. Network protocols are a large area of knowledge and it takes years to master them in detail. Software engineers only need to learn the basic concepts of networking, networking models and the basics of the most important network protocols (like HTTP). Everything else from the world of networks is optional and whether developers need it highly depends on their narrow specialization.
  4. HTTP is an application-level protocol for the Web. It is used by Web browsers to open web sites, by mobile apps to talk to the server side, and in many other scenarios. Sockets are bi-directional stream connections, used to communicate between two apps (server and client). For example, in a video call, two parties send streams of data, which holds the video and voice encoded in some multimedia format. HTTP and socket communication are important concepts every Web developer should be familiar with. Let's get right into them and see why they are so important!
  5. Most connected applications communicate through HTTP or sockets. HTTP is application-level protocol for the Web, the protocol used by Web browsers to open Web sites. Sockets are bi-directional stream connections, usually implemented by the TCP protocol or the WebSocket protocol. which is a socket over HTTP. HTTP is a "request / response" based protocol for the Web. Web clients request a resource, using HTTP GET, POST, PUT or DELETE request. The Web server responds to the request and provides the resource as HTTP response. We already had a lesson about HTTP in this course at SoftUni, so I will not discuss HTTP in detail. Sockets are bidirectional communication streams. When a socket connection is established between two endpoints (host + port), both participants can send and receive data, which arrives in the same order, as it was sent. Sockets are used for communication over Internet. Sockets are used to open a Web site, to download a file from Internet, for real-time communication such as chat messaging, for streaming video, for gaming and in many other scenarios. HTTP also works over a TCP or QUIC socket connection. Web sockets are sockets that run over HTTP. If supported by the Web server, an HTTP connection can be upgraded to a WebSocket, using special HTTP Upgrade headers in the request. Web sockets allows JavaScript clients to communicate with the Web server bidirectionally in a message-oriented style. The Web server can push data messages to the client over the Web socket at any time. The Web client can also push data messages to the Web server over the Web socket at any time. The WebSocket technology allows Web applications to efficiently communicate in real-time. You will learn more about socket communication later at SoftUni, in the Web development professional modules.
  6. In the next section, I will give you some real-world examples of socket-based communication over the network.
  7. To get an idea where socket-based Internet communication is used, I will give you a few examples: The first example is the well-known Telegram Messenger. It uses WebSockets to send and receive messages from the Telegram servers. The Messenger client maintains a socket connection with the server. Using the socket connection, the server pushes new messages to the client. The client can also send messages to the server. Telegram clients can connect through classical TCP socket, through a Web socket or using HTTP long polling (when sockets are unavailable). The second example is the famous game "Brawl Stars". When you play Brawl Stars through the network, the Brawl Stars game client communicates with the Supercell game server over a TCP socket on port 9339. The third example is the live crypto prices dashboard @ Investing.com. You can open the real-time crypto dashboard from https://investing.com/crypto/. This Web site shows the real-time prices of the most popular cryptocurrencies, such as Bitcoin, Ethereum and Ripple. This Web site connects to the Web server using a WebSocket. After connecting, the server pushes constantly the price changes to the client. We can watch this communication using "Chrome DevTool". We press [F12], open the [Network] tab, then we find the "websocket" request and click on the [Messages] tab. Messages with price updates come constantly from the server.
  8. Another example of WebSocket, from the developer perspective, is the site: https://websocket.org/echo.html It is a simple WebSocket client, which can connect to a WebSocket server and send and receive messages from it. We can play with it. We click the [Connect] button and we connect to echo.websocket.org. Now we send a message using the [Send] button. The log shows the messages sent to the server and received from the server. The server replies with the same message, that we sent to it. Now let's see the messages in the network inspector in Chrome Dev Tools. Click [F12] to show the Network Inspector. Click [Disconnect] then [Connect]. Click on the WebSocket connection in the list of HTTP requests. Now click the [Send] button several times and see the messages that go though the Web socket. This is how Web sockets work. First, the client connects to the server. Then the client and the server talk to each other by sending messages. WebSocket is bi-directional message-oriented communication protocol for the Web.
  9. For the most curious of you I have prepared another live example: A web socket server and a Web socket client for it, which connect to each other and exchange messages. First, open the server link at repl.it. Wait a bit for the code to load. This is a JavaScript code, implementing a Web socket server in Node.js. We run it. It will start and then will be waiting for client connections. Now, open the client link at repl.it. It needs some time to load. It's a simple HTML page with JavaScript code, which interacts with our Web socket server. This is the Web socket client application. We run it. On the right we can see the messages exchanged between the client and the server. Every 3 seconds, the server sends the current time to the client as a text message. I will skip explaining the code of the Web socket client and the server, because now we want to learn concepts, not technologies. The concept here is the socket communication, which allows the client and the server to send messages to each other.
  10. Did you like this lesson? Do you want more? Join the learners' community at softuni.org. Subscribe to my YouTube channel to get more free video tutorials on coding, dev concepts and software development. Get access to more free dev lessons and learning resources for developers. Get free help from mentors and meet other learners. And it's all free!
  11. Join now! SOFTUNI.ORG