웹사이트에 접근했을 때 발생하는 일련의 과정에 대해 설명해 주세요.

2024. 12. 16. 10:14·백엔드 면접

사용자가 특정 도메인 네임을 브라우저에 입력하면, 브라우저는 HTTP 프로토콜을 사용해 웹 서버와 통신하려고 합니다. HTTP는 OSI 7 계층 중 애플리케이션 계층(응용 계층)에서 동작하는 프로토콜입니다.

 

이때 브라우저는 요청한 도메인 네임에 대한 IP 주소를 알아야 하기 때문에 DNS(Domain Name System) 서버에 질의합니다. 이 질의 과정 또한 애플리케이션 계층에서 이루어지며, DNS 서버는 해당 도메인에 대한 IP 주소를 응답합니다.

 

IP 주소를 얻은 후, 브라우저는 구글 서버와 통신을 시작합니다. HTTP는(HTTP/1.1 기준) TCP/IP를 기반으로 작동하기 때문에 TCP 3-way handshake 과정이 필요합니다. 이 과정은 전송 계층에서 이루어집니다.

 

TCP 연결이 성립된 후, 브라우저는 HTTP Request 메시지를 생성해 웹 서버에 보냅니다. 예를 들어 브라우저는 GET / HTTP/1.1 이라는 요청을 TCP 프로토콜을 통해 80번 포트로 전송합니다. 이때 데이터는 패킷 형태로 네트워크를 통해 전달됩니다. 네트워크를 통해 데이터를 전송하기 위해서는 네트워크 계층에서는 IP 주소를 사용하고, 데이터 링크 계층에서는 MAC 주소를 사용하여 패킷이 전송됩니다.

 

웹 서버는 클라이언트의 요청을 수신하고 이를 처리한 후, HTTP Response 메시지를 생성해 응답합니다. 서버는 요청이 성공했음을 알리는 200 OK 상태 코드와 함께 웹 페이지 데이터를 전송합니다. 브라우저는 이 응답을 받아 HTML, CSS, 자바스크립트 등의 데이터를 해석하여 화면에 페이지를 렌더링합니다.

 

모든 데이터 전송이 완료되면 클라이언트와 서버는 4-way handshake 과정을 거쳐 TCP 연결을 종료합니다.

'백엔드 면접' 카테고리의 다른 글

데이터베이스 시스템에서 동시성을 제어하는 방법에 대해서 설명해주세요.  (0) 2024.12.18
HTTP 메서드에서 멱등성이란 무엇인가요?  (0) 2024.12.17
스레드, 프로세스, 코어는 많을수록 좋을까요?  (0) 2024.12.14
단위 테스트와 통합 테스트의 차이점은 무엇인가요?  (0) 2024.12.12
공유 락과 배타 락에 대해서 설명해 주세요.  (0) 2024.12.11
'백엔드 면접' 카테고리의 다른 글
  • 데이터베이스 시스템에서 동시성을 제어하는 방법에 대해서 설명해주세요.
  • HTTP 메서드에서 멱등성이란 무엇인가요?
  • 스레드, 프로세스, 코어는 많을수록 좋을까요?
  • 단위 테스트와 통합 테스트의 차이점은 무엇인가요?
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    자바
    JPA
    raid
    오블완
    데브코스
    백엔드 면접
    스프링
    토스 페이먼츠
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
웹사이트에 접근했을 때 발생하는 일련의 과정에 대해 설명해 주세요.
상단으로

티스토리툴바