기술면접/네트워크

네트워크

EnoughTT 2023. 12. 26. 21:44

!? HTTP 프로토콜에 대해 설명해주세요

HTTP(Hyper Text Transfer Protocol) 이란 데이터를 주고 받기 위한 프로토콜이고, 서버/클라이언트 모델을 따릅니다.

HTTP 는 상태 정보를 저장하지 않는 Stateless 의 특징과 클라이언트 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless 의 특징을 가지고 있습니다.

  • 장점
    • 통신간의 연결 상태 처리나 상태 정보를 관리할 필요가 없어 서버 디자인이 간단합니다.
    • 각각의 HTTP 요청에 독립적으로 응답만 보내주면 됩니다.

 

  • 단점
    • 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야합니다.
      • 이를 해결하기 위해 쿠키 (cookie) 나 세션 (session) 을 사용해 데이터를 처리합니다.

!? HTTP와 HTTPS의 차이점은 무엇인가요?

HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에 HTTP로 중요한 정보가 노출 될 수 있습니다.

이러한 문제를 해결하기 위해 HTTP에 암호화가 추가된 프로토콜이 HTTPS 입니다.

HTTPS는 SSL의 껍질을 덮어쓴 HTTP 입니다.

HTTPS에서 HTTP는 SSL과 통신하고 SSL이 TCP와 통신함으로써 암호화와 증명서, 보안성이 높습니다.


!? 쿠키 (Cookie) 와 세션 (Session) 의 차이점을 말해주세요.

쿠키는 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일입니다. HTTP에서 클라이언트의 상태 정보를 PC에 저장했다가 필요시 정보를 참조하거나 재사용할 수 있습니다.

세션은 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지시키는 기술입니다.

즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 합니다.


!? www.naver.com 에 접속할 때 생기는 과정에 대해 설명해주세요. (웹 동작 방식 이해)

 

 

  1. 사용자가 브라우저 URL을 입력합니다.
  2. DNS 서버에 도메인 네임으로 서버의 진짜 주소를 찾습니다.
  3. IP 주소로 웹 서버에 TCP 3 handshake 로 연결을 합니다.
  4. 클라이언트는 웹 서버로 HTTP 요청 메시지를 보냅니다.
  5. 웹 서버는 HTTP 응답 메시지를 보냅니다.
  6. 도착한 HTTP 응답 메시지는 웹 페이지 데이터로 변환되고, 웹 브라우저에 의해 출력됩니다.

!? TCP 와 UDP 의 차이점을 말해주세요.

TCP는 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정합니다. 그렇기에 신뢰성을 보장하지만, 속도가 느리다는 단점이 있습니다.

UDP는 비연결형 서비스로 3-way handshaking을 사용하지 않기 때문에 신뢰성이 떨어진다는 단점이 있지만, 데이터 수신 여부를 확인하지 않기 때문에 속도가 빠르다는 장점이 있습니다.

TCP는 파일 교환과 같은 경우에 쓰이고 UDP는 실시간성이 중요한 스트리밍에 자주 사용됩니다.