기술 면접 준비 - HTTP 기본 (2)
기술 면접 준비 - HTTP 기본 (2)
HTTP란?
텍스트 기반 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. HTML, text, 이미지, 음성, 영상, 파일, JSON, XML 등 다양한 종류의 데이터를 전송할 수 있다.
Stateless
서버에서 상태를 관리하지 않는 것을 뜻한다. 각 요청이 독립적으로 실행되고, 이전 요청에 대한 정보를 알지 못한다. 장점은 확장성이 높고 단점은 메세지 데이터가 커져 네트워크 대역폭을 많이 사용한다.
HTTP Method
- GET: 리소스 조회 (Read), 쿼리스트링을 통해 데이터 전달
- POST: 데이터 처리/생성 (Create), 메시지 바디를 통해 데이터 전달
- PUT: 리소스 대체/수정 (Update)
- DELETE: 리소스 제거
- PATCH: 일부 리소스만 변경 (Update)
CORS (Cross Origin Resource Sharing)
출처가 다른 자원들을 공유한다는 뜻. protocol + host + port 3가지가 같으면 동일한 출처라고 한다. 추가 HTTP 헤더를 사용하여 다른 출처의 자원에 접근할 수 있도록 권한을 부여한다.
SSL / TLS
SSL의 업데이트 버전이 TLS이다. SSL/TLS는 웹에서 전송되는 데이터를 암호화하고, 클라이언트와 서버 간의 핸드셰이크를 통해 인증이 이뤄진다.
대칭키 vs 공개키
대칭키: 암호화와 복호화에 같은 키 사용. 키 공유가 어렵고 유출 시 문제 발생. 공개키: 두 개의 키(공개키/개인키) 사용. 하나로 암호화하면 다른 하나로 복호화 가능.
Cache
쿠키 vs 세션 vs 캐시: 쿠키는 사용자의 수고를 덜어주는 것, 캐시는 데이터 전송량을 줄이고 속도를 높이는 것이 목적.
JWT (JSON Web Token): 클라이언트와 서버 사이에서 권한을 위해 사용되는 암호화된 토큰.
REST, RESTful
REST는 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 것. RESTful은 REST 아키텍처를 구현하는 웹 서비스를 말한다.
This post is licensed under CC BY 4.0 by the author.