본문 바로가기
CS 개념정리/네트워크

[네트워크 CS 준비] 3.HTTP

by 반오십 코린이 2023. 1. 13.
728x90

HTTP(HyperText Transfer Protocol)의 특징에 대해 말해보세요

  • Client - Server 구조입니다.
  • Connectionless 하다는 특징이 있습니다.
  • Stateless 하다는 특징이 있습니다.
  • HTTP 메세지에 거의 모든 것을 담아 전송할 수 있습니다. - HTML, TEXT, 이미지, 음성, 영상, JSON, XML
  • 단순하고 확장 가능합니다.

HTTP 기반 프로토콜에 대해 말해보세요

  • TCP는 HTTP/1.1, HTTP/2
  • UDP는 HTTP/3

클라이언트 서버 구조에 대해 말해보세요

  • Request Response 구조
  • 클라이언트는 서버에 요청을 보내고 응답을 대기합니다
  • 서버가 요청에 대한 결과를 만들어 응답합니다.

Stateless에 대해 설명해보세요

 

HTTP의 특징 중 하나입니다. 무상태 프로토콜이라는 의미를 내포하는데

말그대로 서버가 클라이언트의 상태를 보존하지 않습니다.

서버확장성이 높다는 장점이 있으며 클라이언트가 정보를 한번에 많이 보내야 한다는 단점이 있습니다.

 

Stateful, Stateless의 차이에 대해 설명 해보세요

 

클라이언트가 서버로 정보를 정보를 보낼 때 서버가 변경되면 안됩니다. - Stateful

하지만 Stateless는 서버로 정보를 보낼 때 Client는 정보를 한번에 보내야 한다는 특성 때문에

서버가 바뀌어도 영향이 없습니다.

무상태는 응답 서버를 쉽게 바꿀 수 있다는 점에서 서버의 효율성이 증가합니다. & 무한한 서버 증설 가능

 

Stateless의 한계에 대해 설명 해보세요

 

모든 것을 무상태로 설계할 수 있는 것은 아닙니다.

예를 들어 로그인이 있습니다.

 

비연결성(Connectionless)의 특징에 대해 설명 해보세요

 

클라이언트와 서버를 연결하고 전달할 것을 전달하고 연결을 끊어버리기에

서버 자원을 매우 효율적으로 사용할 수 있습니다.

하지만 연결할 때 마다 TCP/IP 3 way handshake 연결을 해야하기 때문에 시간이 추가됩니다.

단순 비연결성의 경우 서버로 부터 페이지 정보를 받을 때 html, js, css, image 등 정보를 순차적으로 

연결 - 자원 응답 - 종료를 반복하므로 시간이 오래걸리나

최근들어 HTTP 지속 연결(Persistent Connections)을 사용하여 시간을 단축하였습니다.

 

 

서버 개발자들이 해야하는 중요하고 어려운 업무에 대해 말해보세요

 

같은 시간에 발생하는 대용량 트래픽입니다.

예를 들어 콘서트 티켓팅이나 수강 신청들을 예로 들을 수 있습니다.

 

 

HTTP 메시지의 형태에 대해 말해보세요

 

start-line(HTTP method, 요청 대상, HTTP Version, status code)과 header, 공백 그리고 message body가 있습니다.

 

 

HTTP 헤더에 대해 설명해보세요

 

HTTP 전송에 필요한 모든 부가 정보 -  Content-Type, charset, Content-Length 등..

 

HTTP 메시지 바디에 대해 설명해보세요

 

실제 전송할 데이터

HTML 문서, 이미지, 영상, JSON 등등 Byte로 표현할 수 있는 모든 데이터가 있습니다.

 

 

728x90