ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 01. Introduction
    해킹/웹해킹 이론 2023. 11. 15. 20:12

    HTTP를 이용하여 정보를 공유하는 서비스를 웹이라 한다. 정보 제공의 주체를 웹 서버 (Web Server), 정보를 받는 이용자를 웹 클라이언트 (Web Client) 라고 한다. (웹 서버, 웹 클라이언트가 고정된 것이 아니라 하는 일에 따라 서버가 될 수도 클라이언트가 될 수도 있다.) 웹서비스 중, 이용자의 요청을 받는 부분을 프론트엔드 (Front-end), 요청을 처리하는 부분을 백엔드 (Back-end)라고 부른다. 프론트엔드를 구성하는 글, 글자들의 색깔, 모양, 배경 색상, 이미지 등을 웹 리소스 (Web Resource)라고 한다.

    웹 리소스

    웹 리소스란, 웹에 갖춰진 정보 자산이다. 모든 웹 리소스는 고유의 Uniform Resource Identifier (URI)를 가지며, 이를 이용하여 식별된다. 웹의 프론트엔드를 구성하는 대표적인 웹 리소스로는 HTML, CSS, JavaScript가 있다.

     

    통신 프로토콜

    웹 서버의 리소스를 클라이언트가 받기 위해 제공해달라고 요청하는 행위를 요청(Request),  서버가 이에 대응되는 리소스를 반환하는 행위를 응답(Response)이라고 한다. 프로토콜(Protocol)은 이러한 상호작용에 적용되는 약속 혹은 문법을 말한다. 컴퓨터 통신 프로토콜은 각 통신 주체가 교환하는 데이터(이하 메시지)를 명확히 해석할 수 있도록 문법(syntax)을 포함한다. 현재까지 제정된 표준 통신 프로토콜에는 네트워크 통신의 기초가 되는 TCP/IP, 웹 애플리케이션이 사용하는 HTTP, 파일을 주고받을 때 사용하는 FTP 등 매우 많은 종류가 있다.

    HTTP

    HTTP(Hyper Text Transfer Protocol)란 서버와 클라이언트의 데이터 교환을 요청(Request)과 응답(Response) 형식으로 정의한 프로토콜이다. HTTP의 기본 메커니즘은 클라이언트가 서버에게 요청하면, 서버가 응답하는 것입니다. 웹 서버는 HTTP 서버를 HTTP 서비스 포트에 대기시킵니다. 이 포트는 일반적으로 TCP/80 또는 TCP/8080입니다. 클라이언트가 서비스 포트에 HTTP 요청을 전송하면, 이를 해석하여 적절한 응답을 반환합니다.

    Cookie

    일반적으로 쿠키는 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용한다.
    웹 서비스 사용 시 종종 등장하는 팝업 창에 “다시 보지 않기”, “7일 간 표시하지 않기” 버튼이 있는 것을 확인할 수 있다. 웹 서버는 클라이언트의 팝업 옵션을 쿠키에 기록하고, 쿠키를 통해 팝업 창 표시 여부를 판단한다. 
    웹 서버에서는 수많은 클라이언트의 로그인 상태와 이용자를 구별해야 하는데, 이때 클라이언트를 식별할 수 있는 값을 쿠키에 저장해 사용한다.

    Session

    쿠키에 인증 상태를 저장하지만 클라이언트가 인증 정보를 변조할 수 없게 하기 위해 세션(Session)을 사용한다. 세션은 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는 키(유추할 수 없는 랜덤한 문자열)를 만들어 클라이언트에 전달하는 방식으로 작동한다. 해당 키를 일반적으로 Session ID라고 하며, 브라우저는 해당 키를 쿠키에 저장하고 이후에 HTTP 요청을 보낼 때 사용한다. 서버는 요청에 포함된 키에 해당하는 데이터를 가져와 인증 상태를 확인한다.

    댓글

Designed by Tistory.