DNS -> Network communication -> HTTP
1. DNS(Domain Name System)
xxx.xxx.xxx 로 된 IP를 www.naver.com 로 바꿔줌
주소를 입력하게 되면 이전에 접속한 cache를 가 남아 있는지 확인 하고 접속 cache가 없다면 name server를 확인하고 사용자가 Linux 유저라면 /etc/hosts 에 웹페이지가 등록되어 있으면 주소를 사용하게 되고 없다면 /etc/resolv.conf 에 지정되어 있는 name server로 요청을 하여 이동
ex) Google : 8.8.8.8, KT : 168.126.63.1, CloudFlare : 1.1.1.1
2. Network Communication
사이트에 따라서 handshake를 통해 사용자와 웹페이지와 연결 하게 됨
3 way TCP handshake vs TLS handshake
3 way handshake
1. Client가 Server에 syn을 보냄
2. Server가 Client에 syn + ack 를 보냄
3. Client가 Server에 ack를 보냄
TLS handshake
1. Client가 Server에 syn을 보냄
2. Server가 Client에 syn + ack 를 보냄
3. Client가 Server에 ack를 보냄
4. Client가 ClientHello를 보냄
5. Server가 ServerHello, Certificate, Server HelloDone 를 보냄
6. Client 가 ClientKeyExchange, ChangeCipherSpec, 을 보냄
HTTP
규모가 좀 되는 웹사이트들은 load balancer을 통해 접속자들이 접속 하게 된다.
load balancing : 트래픽이 한 서버에 너무 집중되지 않도록 분배함
ex)load balancer의 방법은 여러가지가 있음 (Inline Mode, DSR 구성 )