[네트워크] HTTP 프로토콜의 특징

daun·2022년 7월 20일
0

[기술 면접 준비]

목록 보기
30/48

질문

" HTTP 프로토콜의 특징에 대해 설명해주세요."

  • 위 질문에 내가 생각한 질문의 요점 :

답변

"HTTP는 클라이언트가 서버에 요청을 보내면 서버는 그에 대한 응답을 보내는 클라이언트 서버 구조로 이루어져 있으며, 무상태성, 비연결성이라는 특징을 갖습니다.
무상태성은 서버가 클라이언트의 상태를 기억하지 않는다는 뜻입니다. 즉, 상태 기억의 주체가 클라이언트가 된다는 말이며, 중간에 요청을 처리하는 서버가 바뀌어도 클라이언트가 상태를 잘 담아
서 요청을 보내면 응답을 제대로 받을 수 있습니다. 서버가 바뀌어도 응답에 문제가 없다는 뜻은, 필요에 따라 서버를 무한히 증설할 수 있다는 의미입니다. 즉, 무상태성이라는 특성 덕에 서버의 무
한한 증설이 가능해집니다.
비연결성은 요청과 응답을 주고 받은 후에 서버와의 연결을 끊는 것을 의미합니다. 서버와의 연결을 지속하지 않고 필요할 때에만 연결하기 때문에 최소한의 자원만 사용하게 된다는 장점이 있습니
다. 하지만 HTTP 1.0 버전은 여러 요청을 보내야 할 때에도 매 요청마다 서버 연결과 종료를 반복하는 비효율성이 발생한다는 한계가 있습니다. 이러한 한계점을 HTTP 1.1 버전에서는 지속 연결을 활용해서 해결합니다. "

예상 꼬리 질문

"무상태의 한계?"

  • 로그인이 필요 없는 단순한 서비스 소개 화면 같은 경우는 무상태로 설계할 수 있지만,
    로그인이 필요한 서비스라면 유저의 상태를 유지해야 하기 때문에
    브라우저 쿠키, 서버, 세션, 토큰 등을 이용해 상태를 유지해야 합니다.

"비연결성의 한계?"

  • 웹 브라우저서 사이트를 요청하면, HTML 뿐만 아니라 JS+CSS+HTML 등 수많은 자원이
    함께 다운로드 됩니다. 해당 자원들을 각각 보낼 때마다 끊고
    다시 연결하고를 반복하는 것은 비효율적이기 때문에
    지금은 HTTP 지속연결로 문제를 해결합니다.

"연결을 유지하는 모델?"

  • TCP/IP의 경우 기본적으로 연결을 유지합니다.
    연결을 유지하는 모델에서는 계속 연결을 유지해야 하므로
    서버의 자원이 계속 소모 됩니다.
profile
Hello world!

0개의 댓글