Web Protocols ========================= This section explains the protocols that power modern web communication, including request/response models, secure transactions, proxy routing, and real-time interactions between clients and servers. .. list-table:: :widths: 15 65 20 :header-rows: 1 * - Protocol - Description - Use Case * - HTTP (Hypertext Transfer Protocol) - Foundation of data communication for the web. *Uses request-response model over TCP.* - Web browsing, REST APIs, content retrieval. * - HTTPS (Hypertext Transfer Protocol Secure) - Encrypted version of HTTP using TLS. *Protects data integrity and confidentiality.* - Secure websites, online banking, e-commerce. * - SOCKS (Socket Secure) - Proxy protocol that routes packets between client and server. *Works at lower level than HTTP proxies.* - Traffic tunneling, bypassing restrictions. * - WebSocket - Full-duplex communication channel over a single TCP connection. *Ideal for real-time data exchange.* - Chat apps, live feeds, online gaming. * - WebRTC (Web Real-Time Communication) - Peer-to-peer protocol for audio, video, and data streaming in browsers. *No need for plugins or third-party software.* - Video conferencing, P2P file sharing, browser-based calling. .. toctree:: :maxdepth: 1 :hidden: :includehidden: HTTP HTTPS SOCKS WebSocket WebRTC .. tab-set:: .. tab-item:: HTTP (Hypertext Transfer Protocol) **RFC:** RFC 9110 (HTTP/1.1), RFC 9114 (HTTP/3 via QUIC) **Main Features:** - Stateless request-response protocol - Operates over TCP or QUIC (HTTP/3) - Supports standard methods (GET, POST, PUT, etc.) - Foundation of the modern web **Use Cases:** - Web browsing - REST API calls - Static and dynamic content delivery **Alternative Protocols:** - HTTPS – Encrypted version for secure transmission - WebSocket – For persistent, full-duplex communication .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about HTTP:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`HTTP Version&RFC Details ` * :ref:`HTTP Basic Setup on Ubuntu using IPv4 ` * :ref:`HTTP Basic Setup on Ubuntu using IPv6 ` * :ref:`HTTP Protocol Packet Details ` * :ref:`HTTP Usecases ` * :ref:`HTTP Basic Features ` * :ref:`HTTP Feature : Stateless protocol ` * :ref:`HTTP Feature : Client Server Architecture ` * :ref:`HTTP Feature : Media Type support ` * :ref:`HTTP Feature : Flexible methods ` * :ref:`HTTP Feature : Resource Identification ` * :ref:`HTTP Feature : Extensible Headers ` * :ref:`HTTP Feature : Caching support ` * :ref:`HTTP Feature : Secure Communication ` * :ref:`HTTP Feature : Persistent Connections ` * :ref:`HTTP Feature : Proxy and Gateway support ` * :ref:`Reference links ` .. button-link:: ./HTTP.html :color: primary :shadow: :expand: Jump to "HTTP" .. tab-set:: .. tab-item:: HTTPS (Hypertext Transfer Protocol Secure) **RFC:** RFC 9110 + TLS (RFC 8446) **Main Features:** - HTTP over TLS for encryption - Protects against eavesdropping and tampering - Authenticates servers (and optionally clients) **Use Cases:** - Online banking, e-commerce - Secure login and authentication forms - API security and confidential data exchange **Alternative Protocols:** - HTTP – For non-sensitive content - QUIC – Encrypted and optimized protocol for HTTP/3 .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about HTTPS:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`HTTPS Version&RFC Details ` * :ref:`HTTPS Basic Setup on Ubuntu using IPv4 ` * :ref:`HTTPS Basic Setup on Ubuntu using IPv6 ` * :ref:`HTTPS Protocol Packet Details ` * :ref:`HTTPS Usecases ` * :ref:`HTTPS Basic Features ` * :ref:`HTTPS Feature : Encryption ` * :ref:`HTTPS Feature : Data Integrity ` * :ref:`HTTPS Feature : Authentication ` * :ref:`HTTPS Feature : SecurePort(443) ` * :ref:`HTTPS Feature : Certificate Based Trust ` * :ref:`HTTPS Feature : Protection Against MITM Attack ` * :ref:`HTTPS Feature : SEO and Browser Preference ` * :ref:`HTTPS Feature : Forward Secrecy ` * :ref:`HTTPS Feature : Compatiblity with HTTP ` * :ref:`HTTPS Feature : Required for Modern Features ` * :ref:`Reference links ` .. button-link:: ./HTTPS.html :color: primary :shadow: :expand: Jump to "HTTPS" .. tab-set:: .. tab-item:: SOCKS (Socket Secure) **RFC:** RFC 1928 (SOCKS5) **Main Features:** - Works at session layer, not limited to HTTP - Supports TCP/UDP relaying - Can perform user authentication **Use Cases:** - Bypassing regional blocks and firewalls - Enabling anonymous routing (e.g., with Tor) - Tunneling traffic for specific applications **Alternative Protocols:** - HTTP proxy – Application-layer, web-specific - VPN – Encrypts all traffic at network level .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about SOCKS:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`SOCKS Version&RFC Details ` * :ref:`SOCKS Basic Setup on Ubuntu using IPv4 ` * :ref:`SOCKS Basic Setup on Ubuntu using IPv6 ` * :ref:`SOCKS Protocol Packet Details ` * :ref:`SOCKS Usecases ` * :ref:`SOCKS Basic Features ` * :ref:`SOCKS Feature : Protocol Agnostic ` * :ref:`SOCKS Feature : Supports TCP and UDP ` * :ref:`SOCKS Feature : Authentication support ` * :ref:`SOCKS Feature : IP Address Hiding ` * :ref:`SOCKS Feature : firewall traversal ` * :ref:`SOCKS Feature : Domain Name Resolution ` * :ref:`SOCKS Feature : No Content Inspection ` * :ref:`SOCKS Feature : IPv6 support ` * :ref:`SOCKS Feature : Flexible Application Use ` * :ref:`SOCKS Feature : Lightweight and fast ` * :ref:`Reference links ` .. button-link:: ./SOCKS.html :color: primary :shadow: :expand: Jump to "SOCKS" .. tab-set:: .. tab-item:: WebSocket **RFC:** RFC 6455 **Main Features:** - Establishes persistent TCP connection after HTTP handshake - Full-duplex, low-latency communication - Reduces overhead compared to polling **Use Cases:** - Live chat and messaging systems - Multiplayer online games - Collaborative tools and dashboards **Alternative Protocols:** - HTTP long-polling – Less efficient - WebRTC – For P2P media/data communication .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about WebSocket:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`WebSocket Version&RFC Details ` * :ref:`WebSocket Basic Setup on Ubuntu using IPv4 ` * :ref:`WebSocket Basic Setup on Ubuntu using IPv6 ` * :ref:`WebSocket Protocol Packet Details ` * :ref:`WebSocket Usecases ` * :ref:`WebSocket Basic Features ` * :ref:`WebSocket Feature : Full Duplex Communication ` * :ref:`WebSocket Feature : Persistent Connection ` * :ref:`WebSocket Feature : Low Latency ` * :ref:`WebSocket Feature : Light weight Protocol ` * :ref:`WebSocket Feature : Real Time Data Transfer ` * :ref:`WebSocket Feature : Cross Platform Support ` * :ref:`WebSocket Feature : Firewall Friendly ` * :ref:`WebSocket Feature : Binary and Text Support ` * :ref:`WebSocket Feature : Built in Ping Pong Frames ` * :ref:`WebSocket Feature : Protocol Upgrade from HTTP ` * :ref:`Reference links ` .. button-link:: ./WebSocket.html :color: primary :shadow: :expand: Jump to "WebSocket" .. tab-set:: .. tab-item:: WebRTC (Web Real-Time Communication) **RFC:** RFC 8825–8832 **Main Features:** - Peer-to-peer connection for media and data - Supports NAT traversal (ICE, STUN, TURN) - Built-in media capture and encryption **Use Cases:** - Browser-based video/audio chat - Secure P2P file sharing - Real-time collaboration **Alternative Protocols:** - SIP + RTP – Traditional VoIP stack - WebSocket – For signaling or simple data .. panels:: :container: container pb-4 :column: col-lg-12 p-2 **Let us learn more about WebRTC:** .. button-link:: ./WebRTC.html :color: primary :shadow: :expand: Jump to "WebRTC"