[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개의 댓글

관련 채용 정보