Packet Sequence for Browser Page Request (After Host Restart)
When a browser requests a webpage from a remote server, the host typically must (1) resolve the server’s hostname to an IP address using Domain Name System (DNS), and only then (2) establish a TCP connection using the TCP three-way handshake, and finally (3) send the HTTP GET request over that TCP connection.
Because the host has just been restarted, DNS caching is assumed empty (so a DNS lookup is performed before connecting). The ordering among the provided packet types is therefore:
- DNS query first (to obtain the server IP),
- then TCP SYN (to start the TCP connection to that IP),
- and then HTTP GET request (once TCP is established).
So the correct option is (iii) DNS query, TCP SYN, HTTP GET request.
Note: Real systems may pipeline steps (e.g., parallel DNS, HTTP/2, or prefetching), but with the given simplified packet types and “host just restarted,” the standard deterministic ordering is DNS → TCP handshake → HTTP request.
DNS vs TCP vs HTTP request flow (web fundamentals)
type="tip" title="Key idea to memorize" content="Hostname must become an IP first. Only then can the host send TCP segments (like SYN) to the correct destination; only after TCP is up can it send HTTP GET."
type="warning" title="Where this question can differ in real browsers" content="If an IP is already known (DNS cache, hosts file, or OS cache), the DNS step could be skipped. Also, some browsers use connection pooling or speculative/preconnect behavior—those would change the order."
Deriving the correct packet sequence
- 1Step 1
To contact the remote server, the host must resolve the server’s hostname to an IP address using a DNS query.
- 2Step 2
After the IP is known, the host initiates a TCP connection to the server; the first TCP packet in the handshake is the TCP SYN.
- 3Step 3
With TCP established (after handshake completes), the browser sends the HTTP GET request over that TCP connection.
Correct option
| Option | Sequence | Correct? | Why |
|---|---|---|---|
| (i) | HTTP GET, DNS query, TCP SYN | ✗ | HTTP GET needs a destination IP and a TCP connection first. |
| (ii) | DNS query, HTTP GET, TCP SYN | ✗ | HTTP GET cannot be sent before the TCP connection is established. |
| (iii) | DNS query, TCP SYN, HTTP GET request | ✓ | Standard order: resolve name → start TCP handshake → send HTTP GET. |
| (iv) | TCP SYN, DNS query, HTTP GET request | ✗ | TCP SYN requires the server IP, which comes from DNS. |
Typical webpage request timeline (simplified)
Browser initiates request
T0Browser decides it must contact a remote server to fetch a resource."
DNS query
T1Hostname is resolved to an IP address."
TCP SYN
T2Host starts TCP connection using the IP obtained from DNS."
HTTP GET
T3After TCP handshake, the HTTP GET request is transmitted."
Common clarifications
Ordering precedence (for this question)
Earlier bars indicate steps that must occur before later ones, given a fresh restart.
Packet Sequence Flashcards
Knowledge Check
After a host restart, a browser requests a webpage at a remote domain name. Which ordering is correct?
Explore Related Topics
HTTP Fundamentals: Identifying the False Statement
DNS Resolution When a Resolver Has No Knowledge of a Hostname: Root Servers vs Adjacent Servers
The checksum in IP must be recomputed at every router because of change in ____ fields. (i) TTL, Options, Identification Number, Offset (ii) TTL, Options, Data, Offset (iii) TTL, Options, Datagram Length, Offset (iv) TTL, Header Length, Offset, ToS