본문 바로가기

Network

3단계 계층 구조 (3-Tier Architecture)

3단계 계층 구조는 웹 애플리케이션을 세 개의 주요 계층으로 나누어 설계하는 방식이다. 각 계층은 독립적으로 유지보수되고, 역할이 분리되어 효율적인 개발과 관리가 가능하다.

  1. Presentation Layer (프레젠테이션 계층)
    • 역할: 사용자 인터페이스(UI)를 담당하며, 사용자의 요청을 처리하고 응답을 표시한다.
    • 구성: HTML, CSS, JavaScript 등으로 구성된 웹 페이지가 포함된다. 또한, 사용자가 입력한 데이터를 Application Layer로 전달한다.
  2. Application Layer (애플리케이션 계층)
    • 역할: 비즈니스 로직을 처리하고, 프레젠테이션 계층과 데이터 접근 계층을 연결하는 역할을 한다.
    • 구성: 서비스, 로직 처리, 검증, 트랜잭션 처리 등이 포함된다. 이 계층은 사용자 요청을 처리하고 적절한 데이터를 데이터 접근 계층에서 가져온 후 프레젠테이션 계층으로 반환한다.
  3. Data Access Layer (데이터 접근 계층)
    • 역할: 데이터베이스와 상호작용하며, 데이터를 읽고 쓰는 작업을 처리한다.
    • 구성: 데이터베이스 연결 및 쿼리 실행을 담당하며, Application Layer와 직접적으로 통신한다.

 


Serverless Architecture (서버리스 아키텍처)

서버리스 아키텍처는 서버 관리의 부담을 줄이고, 개발자는 기능 개발에만 집중할 수 있도록 해주는 아키텍처 방식이다. 클라우드 서비스 제공업체(AWS Lambda, Azure Functions 등)가 서버를 관리하며, 사용자는 기능 단위로 코드를 작성하고, 클라우드 환경에서 해당 기능을 실행한다.

  • 장점: 서버를 관리할 필요 없이 코드 작성에만 집중할 수 있어 개발 효율성을 높일 수 있다.
  • 단점: 서버를 직접 관리하지 않기 때문에, 성능 튜닝이나 커스터마이징에 제한이 있을 수 있다.

 


HTTP 요청 예시

GET /helloIndex.html HTTP/1.1
  • GET: HTTP 메서드 중 하나로, 리소스를 요청하는 방식.
  • /helloIndex.html: 요청하는 리소스의 경로.
  • HTTP/1.1: HTTP 버전.

 

Cookie와 Session

  • Cookie:
    클라이언트(웹 브라우저)에 저장되는 작은 데이터 조각으로, 서버와 클라이언트 간의 상태 정보를 저장한다.
    • 특징: 클라이언트가 직접 관리하며, 브라우저에 종속되어 있다. 세션 ID와 같은 정보를 클라이언트 측에 저장하고, 서버와 주고받으며 상태를 관리한다.
  • Session:
    서버 측에서 관리되는 세션은 클라이언트와 서버 간의 연결을 식별하는 데 사용된다. 서버는 고유한 세션 ID를 부여하고 이를 통해 클라이언트의 상태를 관리한다.
    • 특징: 서버 측에서 관리되며, 클라이언트가 종료되면 세션이 종료된다.

 

OAuth 인증

  • OAuth타인의 리소스에 접근하기 위한 인증 프로토콜이다.
    사용자는 자신의 인증 정보를 제3의 서비스(예: 구글, 페이스북)로 제공하지 않고, 인증을 대신해주는 서비스에 인증을 맡기고 접근 권한을 부여한다.
  • 주요 기능:
    • 리소스 소유자가 자신의 데이터를 제3자에게 안전하게 공유할 수 있도록 인증을 처리한다.
    • 예를 들어, 사용자가 구글 계정을 이용하여 다른 웹사이트에서 로그인할 수 있게 한다.

 

'Network' 카테고리의 다른 글

CORS  (0) 2024.05.31
REST API  (0) 2024.05.31
URL&DNS  (0) 2024.05.30
TCP와 UDP  (0) 2024.05.30
LAN 과 WAN  (0) 2024.05.30