기술 면접 질문 - Network

young.h·2022년 8월 14일
0

CS

목록 보기
5/6
post-thumbnail

HTTP가 무엇인가요?

HTTP란 거의 모든 형태의 데이터 전송이 가능한 프로토콜로
클라이언트 - 서버 구조로 되어있고, 무상태성, 비연결성이 특징입니다.
클라이언트-서버 구조란 클라이언트가 요청을 보내고 응답을 대기하며
서버는 요청에 대한 응답을 만들어 보내는 것을 의미합니다.
무상태성이란 서버가 클라이언트의 상태를 보존하지 않는다는 것으로
서버의 확장성이 높다는 장점이 있지만 클라이언트가 추가 데이터를 전송해야하는
단점이 있습니다.
비연결성이란 요청 - 응답 후 연결을 종료하는 것으로 최소한의 서버자원을 사용한다는
장점이 있지만 매번 TCP/IP 연결을 맺어야하기 때문에 3-WAY-HANDSHAKE 시간이 추가된다는 단점이 있습니다.

HTTP 메서드를 설명해 주세요.

HTTP 메서드에는 GET, POST, PUT, PATCH 등이 있습니다.
GET은 조회할 때 사용하며 쿼리 파라미터를 사용하여 데이터를 전달하며 바디를 사용할 수는 있지만 권장하지 않습니다.
POST는 메시지 바디를 이용해서 요청 데이터를 처리하며 새로운 리소스를 등록할 때 사용합니다.
PUT은 리소스가 있으면 대체하고 없으면 생성하는, 쉽게 말해 덮어쓰기 기능을 하는 메서드로
POST와 다른 점은 클라이언트가리소스 위치를 알고 URI를 지정하는 것입니다.
PATCH 메소드는 리소스 부분 변경하는 메소드 입니다.

HTTP 메서드의 특징을 설명해 주세요.

여러번 호출해도 리소스를 변경하지 않아 안전하며
POST와 PATCH 매서드를 제외하고는 몇 번을 호출해도 결과가 같아 멱등하고
응답 결과 리소스를 캐시해서 사용해도 된다는 특징이 있습니다.

쿠키와 세션의 차이를 설명해 주세요.

쿠키는 클라이언트에 텍스트 형태로 사용자의 정보가 저장되어 속도가 빠르지만
암호에 취약하다는 단점이 있습니다.
세션은 서버에 사용자의 정보가 저장되는 것으로 브라우저가 종료할 때 까지 상태를 유지합니다.

TCP/UDP 차이점

HTTP1.1 과 2.0 차이점

헤더에 관한 질문

RESTFUL API

REST API란?
HTTP URI를 통해 자원을 명시하고
HTTP METHOD를 이용하여 해당 자원에 대한 CRUD를 수행하는 것을 의미합니다.
대표적인 HTTP METHOD로는 GET, POST, PUT, PATCH 등이 있습니다.

REST API의 특징은 서버-클라이언트 구조로 되어있고, stateless하며, 캐셔블하다는 것입니다.
스테이트리스 하다는 것은 서버가 클라이언트의 상태를 보존하고있지 않다는 것으로
서버의 확장성은 높지만 클라이언트가 추가 데이터를 전송해야한다는 단점이 있습니다.

REST API 의 장점은 HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없고,
HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해줍니다. 단점은 HTTP Method 형태가 제한적인 점이 있습니다.

0개의 댓글