Communication Flows Between Browser and Web Server (via Cloudflare)
This diagram shows DNS lookup, TCP and TLS handshakes, and HTTPS traffic between
the browser, network hops, Cloudflare, and the origin server, with notes on who
can see which metadata or payloads. Traffic between Cloudflare and Origin is encrypted (HTTPS).
sequenceDiagram
participant B as "Browser (Laptop)"
participant R as "Local Router (WiFi)"
participant I as "ISP Gateway"
participant D as "DNS Server"
participant BB as "Internet Backbone"
participant C as "Cloudflare Edge"
participant S as "Origin Server"
Note over B,S: DNS resolution phase UDP plaintext
B->>R: UDP DNS query (domain to IP)
Note over R: Router sees DNS query and addressing
R->>I: Forward DNS query
Note over I: ISP sees DNS query and addressing
I->>D: Forward to DNS server
Note over D: DNS server sees domain and client IP
D->>I: DNS response (Cloudflare IP)
Note over I: ISP sees DNS response and addressing
I->>R: Forward DNS response
Note over R: Router sees DNS response and addressing
R->>B: DNS response
Note over B,S: DNS metadata visible to router ISP and DNS server
Note over B,S: TCP three way handshake plaintext
B->>R: TCP SYN to Cloudflare IP 443
Note over R: Router sees client and Cloudflare IP and ports
R->>I: Forward SYN
Note over I: ISP sees client and Cloudflare IP and ports
I->>BB: Forward SYN
Note over BB: Transit routers see IP addresses and ports
BB->>C: Forward SYN
Note over C: Cloudflare sees client IP and port
C->>BB: TCP SYN ACK
Note over BB: Transit routers see handshake metadata
BB->>I: Forward SYN ACK
Note over I: ISP sees handshake metadata
I->>R: Forward SYN ACK
Note over R: Router sees handshake metadata
R->>B: SYN ACK
B->>R: TCP ACK
Note over R: Router sees ACK metadata
R->>I: Forward ACK
Note over I: ISP sees ACK metadata
I->>BB: Forward ACK
Note over BB: Transit routers see ACK metadata
BB->>C: Forward ACK
Note over C: Cloudflare sees ACK
Note over B,S: Only metadata exchanged so far no payload
Note over B,S: TLS handshake partly visible
B->>R: TLS ClientHello with SNI domain
Note over R: Router sees SNI domain and addressing
R->>I: Forward ClientHello
Note over I: ISP sees SNI domain and addressing
I->>BB: Forward ClientHello
Note over BB: Transit routers see SNI domain and addressing
BB->>C: Forward ClientHello
Note over C: Cloudflare sees full ClientHello and SNI
C->>BB: TLS ServerHello certificate key exchange
Note over BB: Transit routers see server handshake metadata
BB->>I: Forward ServerHello and certificate
Note over I: ISP sees server handshake metadata
I->>R: Forward ServerHello and certificate
Note over R: Router sees server handshake metadata
R->>B: ServerHello certificate key exchange
B->>R: Client key exchange change cipher spec finished
Note over R: Router now sees only encrypted TLS records
R->>I: Forward encrypted handshake messages
Note over I: ISP sees encrypted TLS records and metadata
I->>BB: Forward encrypted handshake messages
Note over BB: Transit routers see encrypted TLS records
BB->>C: Forward encrypted handshake messages
C->>BB: TLS change cipher spec finished to client
Note over BB: Transit routers see encrypted records
BB->>I: Forward encrypted records
Note over I: ISP sees encrypted records and metadata
I->>R: Forward encrypted records
Note over R: Router sees encrypted records and metadata
R->>B: Change cipher spec finished
Note over B,S: After handshake payload will be encrypted on the wire
Note over B,S: HTTPS request and response encrypted
B->>R: Encrypted HTTPS GET request
Note over R: Router sees only IP ports sizes and timing
R->>I: Forward encrypted request
Note over I: ISP sees encrypted payload and metadata
I->>BB: Forward encrypted request
Note over BB: Transit routers see encrypted payload and metadata
BB->>C: Forward encrypted request
Note over C: Cloudflare decrypts sees full HTTP request
Note over C,S: Separate TLS connection to Origin (encrypted)
C->>S: Encrypted HTTPS request to origin
Note over S: Origin decrypts sees full HTTP request payload
S->>C: Encrypted HTTPS response
Note over C: Cloudflare decrypts response, re-encrypts for client
C->>BB: Encrypted HTTPS response to client
Note over BB: Transit routers see encrypted response and metadata
BB->>I: Forward encrypted response
Note over I: ISP sees encrypted response and metadata
I->>R: Forward encrypted response
Note over R: Router sees encrypted response and metadata
R->>B: Encrypted response
Note over B,S: Only browser Cloudflare and origin can see HTTP payload (after decryption)