Skip to content

Latest commit

 

History

History
35 lines (27 loc) · 1.99 KB

File metadata and controls

35 lines (27 loc) · 1.99 KB

크롬 주소창에 "www.google.com"을 치면 일어나는 일 - 5uhwann

1단계

  • 브라우저(크롬)은 브라우저 로컬 캐시를 검사하여 "www.google.com"에 대한 IP주소가 존재하는지 확인한다.
  • 캐시에 해당 IP 주소가 존재하지 않거나, 만료된 정보라면 DNS 서버에 "www.google.com" 도메인 이름에 해당하는 IP 주소를 요청.
    • DNS 서버는 해당 도메인의 IP 주소 반환. 이때, 브라우저 로컬 캐시에 IP 주소 저장

2단계

  • 1단계에서 획득한 IP 주소를 사용해 해당 도메인을 호스팅하는 웹 서버와 TCP 연결 시작
    • 3-Way 핸드셰이크
      1. 클라이언트가 서버에 SYN 패킷 전송
      2. SYN 패킷을 수신한 서버가 클라이언트에 SYN-ACK 패킷을 클라이언트에 전송
      3. SYN-ACK 패킷을 수신한 클라이언트가 다시 서버에 ACK 응답을 서버에 전송 -> TCP 연결 완료
  • HTTPS 사용 시
    • TLS(Transport Layer Security) 핸드셰이크
      • 클라이언트가 서버에 'ClientHello' 전송(해당 메시지에 TLS 버전, 클라이언트가 생성한 임의 값, 지원되는 암호화 알고리즘 등의 정보 포함)
      • 서버가 클라이언트에 'ServerHello' 응답(선택한 TLS 버전, 서버에서 생성된 임의 값, 선택한 암호화 제품 포함)
      • 서버가 클라이언트에 디지털 인증서 전송
      • 클라이언트가 서버에서 전송된 인증서 발급 기관(CA) 확인 후 암호화 방법(RSA 등..)을 키 교환

3단계

4단계

  • 브라우저가 요청한 동적 리소스(HTML, CSS)를 웹 서버가 반환
    • 정적 리소스 존재 시 응답 리소스 가공을 WAS 위임
      • WAS는 요청된 리소스를 반환하기 위해 연동된 데이터베이스 접근, 데이터 가공
      • 생성된 리소스를 웹 서버에 전달
      • 웹 서버 응답

5단계

  • 리소스 렌더링 및 디스플레이