[면접 대답]
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을 해석하고, 웹사이트 렌더링
'😀 Jerry > 면접 질문' 카테고리의 다른 글
[1분 면접] DB 시스템에서 동시성 제어하는 방법 (0) | 2025.02.21 |
---|---|
[1분 면접] HTTP 매서드에서 멱등성이란 무엇인가 ? (0) | 2025.02.21 |
[1분 면접] DB에서 커넥션 풀을 사용하지 않을 때 발생하는 문제는 ? (0) | 2025.02.18 |
[1분 면접] 스레드, 프로세스, 코어의 수는 많을 수록 좋을까 ? (0) | 2025.02.17 |
[1분 면접] 단위 테스트와 통합 테스트의 차이점 (0) | 2025.02.15 |