Web protocol evolution

 

Scenario:

The end-to-end principle is a network design method in which application-specific features are kept at communication end points. So not to have features on intermediate points between the client and end points, like gateways and routers. E.g. Net neutrality.
  • i/p -> tcp i/p -> HTTP.
    • HTTP 1.0 [1993/4]
      • CERN
        • For researchers [university] to shared papers [text and some images].
    • HTTP 1.1
      • Syntax & Semantics separated
        • Syntax - Network/format/what goes over the wire
        • Semantics - Headers, Response Codes & Methods [POST/GET etc.] 
      • Keep Alive
      • No TLS mandate
    • HTTP 2.0
      • Web 2.0
      • Initial Window - TCP [2 packets] and add more as you get ACK, took to 7 packets.
      • Parallel/Multiplexing - Adding streams to one connection. Earlier browser multiple connections to same site and limit of 6.
      • Ahead of Line blocking - TCP layer:
        • If 3 packet or resource in queue you cant send 4.
        • TCP - guaranteed and in sequence
          • FTP is fine. If one line is missing. Packets sent fast. Ack tells missing and resend again only at the end its blocked/stopped and not render. 
          • As Initial Window grew, there are more things in queue, more blockages.
          • It may not be needed, one frame in video, scrolled now section.
        • 2.0 solved resource blocking, it can come out of sequence, but within resource Ahead of Line Packets. 
      • Google Chrome - Google Servers. 
        • Middle Boxes like ISP they block traffic [ingress/egress to the network]. They only allowed Tcp to go out, so you cant add protocol on top.
    • HTTP 3.0
      • Use UDP to Tcp
        • UDP
          • Is Connection less.
          • UDP before TCP
          • UDP has limited services and so you have to build.
          • Might get blocked in hospital, banks..
        • TCP
          • 3 way handshake - TCP uses a three-way handshake, both sides synchronize (SYN) and acknowledge (ACK) each other; SYN, SYN-ACK and ACK.
          • 4 way handshake FIN -> ACK -> ACK.
      • If does not work fall back to http2 due to UDP blockage.
      • QUIC
      • 99.999 % web is on TLS, due to free certs
      • Traffic shaping - Manage bandwidth to delay the flow of certain types of network packets to ensure network performance for higher priority apps, e.g. DataCenters.
      • IPv6  - address consists of eight groups of four hexadecimal digits.
        • IPv4 - 32 bit, so 2^32 = 4 Billion
        • IPv6 - 128 bit = Quandralion
        • Network address translation (NAT) - Conserves IP addresses by enabling private IP networks using unregistered IP addresses to go online. 
        • Reclamation of unused IPv4 space. Under TCP, there are 1–65535 ports
        • Zero RTT
          • 4 way for 1st
          • Next time - Use same key, after challenge, based on 1st call.
          • Connection migration w/o connection re negotiation from wifi to cellular
    • Web RTC
      • UDP
      • Peer to Peer
        • Initial Server then p2p
      • RTMP -  Real-Time Messaging Protocol
      • Earlier browser was just write file, not read. Devices read like mic and camera.
      • Codec
        • Compress/ Decompress audio-video
  • Web 1.0
    • Mostly static pages connected by  hyperlinks
    • HTML forms get sent through e-mail
    • The content comes from the server's filesystem, not DB
    • Encyclopedia available online
    • Linked Web Pages
  • Web 2.0
    • Read
    • Write
    • Dynamic
    • Wikipedia
    • Linked Apps
  • Web 3.0
    • Personal
    • Block chain
    • Semantic Web/Chat GPT
    • Linked Data

Move Github Sub Repository back to main repo

 -- delete .gitmodules git rm --cached MyProject/Core git commit -m 'Remove myproject_core submodule' rm -rf MyProject/Core git remo...