Post

기술 면접 준비 - 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.