😀 Jerry/면접 질문

[1분 면접] 사용자가 웹사이트에 처음 접근했을 때 발생하는 일련의 과정

Jerry_K 2025. 2. 20. 01:11

[면접 대답]

1. Clinet가 URL 입력  ( HTTP 프로토콜을 사용해 구글 웹 서버와 통신 시도)

 

2. 브라우저는 도메인 네임에 대한 IP 주소를 알아야 하기 때문에 DNS 서버에 질의 

  • 응답으로 해당 도메인에 대한 IP 주소 응답 받음

3. IP 주소를 얻은 후, 브라우서는 구글 서버와 통신

  • TCP/IP를 기반으로 TCP 3-Way Handshake 과정 필요 

4. TCP 연결이 성립된 후, 브라우저는 HTTP Request 메시지 생성

  • 데이터 패킷 형태로 네트워크에 전달

5. 서버는 클라이언트의 요청을 수신하고, HTTP Response 메시지를 생성하여 응답

  • 서버는 상태 코드와 함께 웹 페이지 데이터 전송
  • 브라우저는 데이터(HTML/CSS, JS)를 해석하여 화면에 페이지 렌더링

6. 모든 데이터 전송이 완료되면 클라이언트와 서버는 TCP 연결 종료 

 

 

사실 더 깊게 들어가면 더 복잡한 것들이 있다 .... 


[내 대답]

1. URL URI 를 입력하면 브라우저 캐시에서 해당 도메인 네임에 속하는  IP 주소를 탐색 

 

2. 캐시에 저장되어 있지 않다면, OS에 DNS 캐시 확인

 

3. OS에도 없다면 도메인 풀 로컬에 네트워크의 DNS 서버(라우터) 조회 

  • 최종적으로 DNS 계층을 따라 해당 도메인에 대한 IP 주소 가져옴

4. 3-Way Handshake 

  • Client 쪽에서 SYN를 서버에게 보냄
  • Server는 SYN와 ACK을 Client에게 보냄
  • Client는 ACK을 Server에게 보냄으로 Client와 Server 연결

5. Client는 HTTP 매서드에 HTTP 매서드, URL, 헤더 정보, 쿼리 스트링의 HTTP 요청을 보냄

 

6. Server는 요청받은 것을 기반으로 적절한 응답 Client에게 제공 

  • 맨  처음은 HTML/CSS, JS등의 정적 리소스가 포함된 리소스 전송

7. 브라우저는 응답받은 HTML을 해석하고, 웹사이트 렌더링