2025-11-26
오늘 배운 것
-
재귀적 DNS 질의와 반복적 질의의 차이를 설명하고, 실제 브라우저가 도메인을 입력했을 때 어떤 흐름으로 IP를 얻는지 말해주세요.
재귀적 질의는 로컬 네임서버가 최종 IP를 찾을 때까지 다른 네임서버에게 계속 질의하고 결과를 역순으로 받아오는 방식이고, 반복적 질의는 로컬 네임서버가 단계별로 “다음 네임서버 주소”만 반환받으며 직접 계속 질의하는 방식입니다. 브라우저는 먼저 로컬 네임서버를 조회하고, 없을 경우 루트 → TLD → 책임 네임서버 순으로 조회해 IP를 얻고 캐시에 저장합니다.
-
HTTP가 스테이트리스 프로토콜이라는 의미와 장점·단점, 그리고 이를 보완하기 위한 기술을 설명해주세요.
스테이트리스는 요청 간 상태를 기억하지 않는다는 의미입니다. 서버 부하 감소, 확장성·복구 용이성이 장점이고, 로그인 유지나 사용자 상태 추적이 어렵다는 단점이 있습니다. 이를 보완하기 위해 쿠키, 세션, 토큰 기반 인증 등이 사용됩니다.
-
HTTP 캐시 재검사 방식에서 Last-Modified 기반과 ETag 기반의 차이를 설명하고, 어떤 상황에서 ETag가 더 적합한지 말해주세요.
Last-Modified는 수정 시각을 기준으로 If-Modified-Since를 사용해 변경 여부를 확인하고, 변경 없으면 304를 반환합니다. ETag는 자원의 버전 식별자를 If-None-Match로 비교하며 더 정교합니다. 미세 변경, 동일 시각 저장, 병렬 수정 가능성이 있을 때 ETag가 더 적합합니다.
-
301, 302, 307, 308 리다이렉션 상태 코드의 차이와 재요청 시 메서드가 유지되는 경우를 설명해주세요.
301과 308은 영구 리다이렉션, 302와 307은 일시적 리다이렉션입니다. 301/302는 재요청 시 메서드가 변경될 수 있고, 307/308은 원래 메서드를 유지합니다. 특히 POST를 보존해야 할 때 307과 308을 사용합니다.
-
JWT가 무엇인지, 어떤 구조로 구성되어 있는지, 그리고 장단점까지 설명해주세요.
JWT(Json Web Token)는 인증 정보를 JSON 형태로 담아 인코딩한 뒤 클라이언트가 보관하고 요청 시 함께 전달하는 방식의 토큰 기반 인증 기술입니다. JWT는
Header.Payload.Signature
세 부분으로 구성되며, 헤더는 알고리즘과 타입, 페이로드는 사용자 식별 및 권한 정보, 시그니처는 위변조 방지를 위한 검증 값이 포함됩니다.
장점은 서버가 세션 상태를 저장하지 않아 확장성과 분산 환경에서의 검증이 용이하고, 다양한 서비스 간 인증 전달이 편리하다는 점입니다. 단점은 토큰이 만료되기 전까지 강제 무효화가 어렵고, 탈취 시 위험하며, 페이로드는 암호화가 아니라 인코딩이라 민감 정보를 저장하면 안 된다는 점입니다.