[Spring#64] 브라우저의 작동 방식 / 쿠키와 세션

김한준 Hanjun Kim·2024년 1월 10일
1

내일배움캠프

목록 보기
65/70

브라우저의 작동 방식

  1. 사용자 입력 및 주소 해석:

    사용자가 주소 표시줄에 웹 주소를 입력하면, 브라우저는 해당 주소로 이동하기 위해 요청을 시작합니다. 이때 입력된 주소는 URL(Uniform Resource Locator)이라고 불리며, 프로토콜(일반적으로 HTTP 또는 HTTPS)과 도메인 등의 정보를 포함합니다.

  2. HTTP 요청:

    브라우저는 입력된 URL을 기반으로 웹 서버에 HTTP 요청을 보냅니다. 이 요청은 해당 웹페이지의 HTML 문서와 관련된 다양한 리소스(이미지, 스타일시트, 스크립트 등)를 가져오기 위한 것입니다.

  3. 서버 응답:

    서버는 브라우저의 요청에 대한 응답으로 HTML 문서 및 필요한 리소스들을 제공합니다. 이 응답은 일반적으로 HTTP 상태 코드와 함께 전송되며, 성공적인 경우 200 OK와 같은 상태 코드가 반환됩니다.

  4. HTML 해석 및 렌더링:

    브라우저는 받은 HTML 문서를 해석하고, 그에 따라 DOM(Document Object Model)을 생성합니다. DOM은 웹페이지의 구조와 내용을 표현하는 트리 구조입니다.

  5. 스타일 및 레이아웃:

    브라우저는 스타일시트(CSS)를 가져와서 HTML 요소에 스타일을 적용하고, 레이아웃을 계산하여 화면에 어떻게 배치할지 결정합니다.

  6. 스크립트 실행:

    브라우저는 페이지에 포함된 자바스크립트(JS) 코드를 실행합니다. 이 코드는 동적인 기능을 추가하거나 사용자와의 상호작용을 제공하기 위한 것입니다.

  7. 렌더링 및 표시:

    최종적으로 브라우저는 화면에 웹페이지를 렌더링하고, 사용자가 볼 수 있도록 표시합니다.

  8. 이벤트 처리 및 상호작용:

    브라우저는 사용자의 입력, 클릭, 스크롤 등의 이벤트를 감지하고, 필요한 동작을 수행하여 상호작용을 지원합니다.


쿠키와 세션

HTTP는 클라이언트가 누구인지 매번 확인해야하는 특성을 보완하기 위해 쿠키와 세션을 사용합니다.

쿠키(Cookie)와 세션(Session)은 웹 개발에서 사용되는 두 가지 주요 기술로, 사용자와 서버 간의 상태를 유지하고 관리하는 데에 활용됩니다. 이들은 각각 다른 방식으로 정보를 저장하고 전송하며 목적과 동작 방식에서 차이가 있습니다.

  • 쿠키(Cookie):
    • 저장 위치:

      클라이언트 측에 저장됩니다. 쿠키는 사용자의 로컬 브라우저에 텍스트 파일 형태로 저장됩니다.

    • 용도:

      사용자가 방문한 웹사이트에서 정보를 유지하고, 이후에도 사용자를 식별하거나 사용자 지정된 경험을 제공하기 위해 사용됩니다.

    • 전송 방식:

      HTTP 헤더에 포함되어 서버와 클라이언트 간에 전송됩니다.

    • 수명:

      쿠키에는 설정된 만료 날짜 또는 세션 종료 시까지 지속되는 수명이 있습니다.

    • 보안:

      일반적으로 쿠키는 클라이언트에 저장되므로 보안에 취약할 수 있습니다. 하지만 HTTPS를 통한 전송을 통해 일부 보안 문제를 완화할 수 있습니다.

  • 세션(Session):
    • 저장 위치:

      서버 측에 저장됩니다. 세션 데이터는 서버에 저장되고, 클라이언트는 세션 식별자를 통해 서버와 상호작용합니다.

    • 용도:

      사용자의 상태를 유지하고, 보안적인 이유로 중요한 정보를 클라이언트 측에 저장하지 않고 서버에 저장하기 위해 사용됩니다.

    • 전송 방식:

      세션 식별자가 쿠키를 통해 클라이언트에게 전송되지만, 실제 데이터는 서버에 저장되고 관리됩니다.

    • 수명:

      일반적으로 브라우저를 닫거나 일정 시간 동안 활동이 없는 경우 세션이 종료됩니다.

    • 보안:

      상대적으로 쿠키보다는 안전하다고 볼 수 있습니다. 세션 데이터는 서버에 저장되므로 클라이언트가 직접 접근할 수 없습니다.

차이점 요약:

  • 저장 위치: 쿠키는 클라이언트에, 세션은 서버에 저장됩니다.
  • 전송 방식: 쿠키는 HTTP 헤더를 통해 전송되고 클라이언트에 저장됩니다. 세션은 세션 식별자를 통해 클라이언트와 서버 간에 데이터를 주고 받습니다.
  • 수명: 쿠키는 설정된 만료 날짜까지 지속됩니다. 세션은 브라우저를 닫거나 세션이 종료될 때까지 지속됩니다.
  • 보안: 세션은 일반적으로 쿠키보다 안전하다고 여겨집니다.

    쿠키와 세션은 각각의 특성에 따라 다양한 상황에서 사용됩니다. 선택은 프로젝트의 요구 사항과 보안 상의 고려사항에 따라 달라집니다.
profile
개발이 하고싶은 개발지망생

0개의 댓글