Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

loading a video on youtube #2460

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions you load a video on youtube
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
DNS Request:
Your browser sends a DNS request to resolve "www.youtube.com" into an IP address.
The DNS server responds with the IP address of YouTube’s servers.

TCP/IP:
Your browser establishes a TCP connection with YouTube's server using the IP address.
Data is exchanged using the TCP/IP protocol suite.

Firewall:
Network firewalls inspect incoming and outgoing traffic to ensure it meets security policies.
They allow or block traffic based on predefined rules, protecting YouTube’s infrastructure.

HTTPS/SSL:
Your browser and YouTube's server establish an encrypted connection using HTTPS.
SSL/TLS encryption ensures the data exchanged is secure and private.

Load-balancer:
A load-balancer distributes incoming requests across multiple YouTube servers.
This ensures efficient use of resources and prevents any single server from being overwhelmed.

Web Server:
The load-balanced request reaches a web server that handles HTTP(S) requests.
The web server processes the request and forwards it to the appropriate application server.

Application Server:
The application server runs YouTube’s backend code to handle video streaming requests.
It processes the request, performs necessary computations, and interacts with the database.

Database:
The application server queries the database to fetch video metadata, user preferences, and other relevant data.
The database server responds with the requested information.

Video Delivery:
The application server prepares the response, including video data fetched from YouTube’s Content Delivery Network (CDN).
The response is sent back through the web server, load-balancer, and over the HTTPS/TCP connection to your browser.
Playback:

Your browser starts receiving the video data and begins playback.
Additional video data is streamed progressively as you watch the video.