AWS · मराठी आवृत्ती
2.4 Browser मध्ये website उघडल्यावर काय होतं?
https://www.example.com लिहून Enter दाबलं. आता सामान्य HTTPS-over-TCP उदाहरणात पुढचा प्रवास होतो. Cache, HTTP version आणि connection reuse मुळे प्रत्येक request मध्ये सर्व steps नव्याने होत नाहीत.
You ──► Browser ──► DNS lookup ──► TCP handshake ──► TLS handshake ──► HTTP GET
│
Page shown ◄── Browser renders ◄── HTTP 200 + HTML/CSS/JS ◄── Web server ◄──┘
- URL parsing — L7: Scheme https, default port 443, host www.example.com आणि path / ओळखतो.
- DNS: Browser/OS caches, configured hosts आणि resolver मधून IP शोधतो. Resolver गरजेनुसार root → .com TLD → authoritative server कडे विचारतो. उदाहरण IP
93.184.215.14; actual value बदलू शकते. Resolver ISP, 8.8.8.8 किंवा EC2 VPC resolver169.254.169.253असू शकतो. पारंपरिक DNS UDP/TCP 53 वापरतो; encrypted DNS वेगळा असू शकतो. - ARP — IPv4: पहिली frame router ला द्यायला default gateway चा MAC शोधतो. IPv6 मध्ये Neighbor Discovery वापरतात.
- TCP handshake — L4: Laptop उदा. ephemeral port 51544 निवडून server:443 कडे SYN; server SYN-ACK; laptop ACK पाठवतो.
- Routing — L3: Packets router, ISP आणि पुढच्या routers मधून destination IP वर पुढे जातात. Local NAT private source public मध्ये बदलू शकतो. Routing handshake packets साठीही आधीपासून होत असतं.
- TLS: Certificate verify होतं आणि encryption keys ठरतात.
- HTTP request: उदाहरण
GET / HTTP/1.1,Host: www.example.com, cookies आणि headers. - Server processing: SG 443 allow करतो; Nginx static file देतो किंवा Node/Flask/PHP app ला proxy करतो; गरजेनुसार app database विचारतो.
- Response: उदा.
HTTP/1.1 200 OKआणि HTML. CSS/JS/images साठी पुढच्या requests जातात; connection पुन्हा वापरता येतो. - Rendering: Browser DOM तयार करतो, CSS लावतो, JavaScript run करतो आणि page दाखवतो.
- Reuse/close: Connection पुढच्या requests साठी राहू शकतो किंवा FIN/ACK ने बंद होतो.
HTTP/3 मध्ये QUIC/UDP वापरलं जातं; वरचा TCP क्रम त्या version साठी तसाच लागू नाही.
Terminal मधून पाहूया
# Step 2: DNS lookup
dig +short www.example.com
nslookup www.example.com
# Step 5: path taken by packets (install traceroute if missing)
traceroute www.example.com
# Steps 4, 6, 7, 9 in detail (verbose curl)
curl -v https://www.example.com -o /dev/null
Troubleshooting checklist
Instance running? → Public IP आणि IGW route? → SG/NACL मध्ये योग्य traffic? → Service listening — ss -tlnp? → DNS योग्य? → App errors? Mauli Dairy कडून “website उघडत नाही” असा फोन आला तर अंदाजाने settings बदलण्याऐवजी प्रत्येक step तपासा.
Lab
dig +short www.example.com, traceroute www.example.com आणि curl -v https://www.example.com -o /dev/null run करा. Output मध्ये resolved IP, TCP connect, TLS handshake आणि HTTP status mark करा. Actual status नेहमी 200 असेलच असं नाही; जे दिसलं ते नोंदवा.