CS지식

AP의 조건

hminor 2023. 6. 1. 23:57

AP?
- 웹서버와 WAS를 묶어서 AP 서버라고 부를 수 있다.
- 단순히 말하면 웹서버프론트엔드단을 처리합니다.
- WAS백엔드단을 처리합니다.
- 둘이 반드시 공간이 분리되어 따로 존재할 필요는 없습니다.

좋은 ap의 조건

  • 성능: 빠를수록 좋다 (캐싱, 비동기 처리, 요청 시간) -> 외부 Rest API 비동기호출, synchronous, asynchronose
  • 안정성: 요청 정상 처리 및 사고 방지
  • 보안: 보안 스펙트럼이 넓으니 주요 동작에 대한 이해 필요

보안 관련 고려사항

  • 클라이언트가 아닌 서버 중심의 로직 처리 (클라이언트 요청은 쉽게 변경 가능)
  • 사용자 인증&인가 (사용자 인증 없는 요청 처리는 다양한 접근 경로 존재)
  • 사용자 요청의 유효성 (서버) 검증 (요청 필드 값 유효 검증, 리소스 변경 건은 철저하게 진행) -> 요청 길이 코드 부합성 검사는 성능에도 도움이 된다
  • sql injection, XSS(Cross-Site Sctipting) 방어 (클라이언트 입력 값은 WHERE 조건문의 일부로 사용하는 경우, script 태그를 사용하는 경우)

보통 http 요청의 첫 진입점으로 ngnix를 쓰는데 Dos 공격 방지 등 최소한의 장치 마련

부하 테스트(필수)

  • N개의 클라이언트 요청
  • 적절한 응답 시간과 데이터 신뢰성
  • JMeter 등의 도구 활용

데이터 신뢰성

  • concurrency 이슈
  • 단일/멀티 서버
  • 트랜잭션 처리
  • 암호화: 갈취당하더라도 쓸 수 없도록 하는 것이 핵심, 솔루션 자체도 인가 제품 사용
  • https 통신 필수

로깅

  • logger 이용
  • 이슈 추적의 시작

서버 테스트

  • 서버 테스트 시나리오

서버 프로그래밍

  • 너를 의심 : 서버 중심 로직 처리, 유효성 검증, 사용자 인증/인가, 해킹 방어
  • 나를 의심 : 응답 시간, 신뢰성, 트랜잭션, 리소스 권한, 암호화
  • 발생한 일 기록 : 로깅

'CS지식' 카테고리의 다른 글

Data Flow  (0) 2023.06.02
AWS 배포에 필요한 구조  (0) 2023.06.02
JPA  (0) 2023.06.01
Mordern Java with Python  (0) 2023.06.01
JIRA란?  (0) 2023.06.01