기술면접 - 네트워크

개나뇽·2025년 1월 7일

기술면접

목록 보기
3/8

네트워크란?

  • 컴퓨터끼리의 데이터 통신망이 그물처럼 연결되어 있는 것.

웹 동작 방식


1. 브라우저에 URL을 입력
2. 브라우저는 DNS에 연결된 서버의 진짜 주소를 찾음
3. HTTP 프로토콜을 통해 HTTP 요청 생성
4. TCP/IP 연결로 HTTP 요청을 서버에 전달
5. 서버는 HTTP 프로토콜을 통해 HTTP 응답 생성
6. TCP/IP 연결을 통해 HTTP 응답을 요청 컴퓨터로 전송
7. HTTP 응답은 웹페이지 데이터로 변환해 브라우저에 출력 됨

TCP와 HTTP차이

  • HTTP는 비연결형 프로토콜이나 TCP 연결형
  • HTTP는 단방향 TCP는 양방향 통신 가능
  • HTTP는 응용 계층(7)이나 TCP는 전송 계층(4)

TCP와 UDP 차이

TCP

  • 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정
  • 높은 신뢰성을 보장하나 속도가 느림
  • 신뢰성이 중요할 때 사용

UDP

  • 비연결형 서비스로 3-way handshaking 과정이 없음
  • 신뢰성이 떨어지나 속도가 빠름
  • 속도가 중요할 때 사용

3-Way handshakzing

  • TCP 연결 프로세스

단계
1. SYN : 클라이언트가 서버에 연결 요청(SYN패킷)
2. SYN-ACK : 서버가 연결 요청을 수신하면 서버가 클라이언트에 응답(SYN-ACK패킷)
3. ACK : 클라이언트는 서버의 응답 수신 후 ACK패킷을 서버에 보내 연결을 확립

GET과 POST 차이

GET

  • 데이터 조회시 사용, URL에 데이터가 노출됨
  • HTTP 헤더에 데이터가 위치함
  • 캐싱이 가능

POST

  • 데이터 추가 또는 수정시 사용, URL에 데이터가 노출되지 않음
  • HTTP Body에 데이터가 위치
  • 캐싱이 불가능

PUT과 PATCH 차이

PUT

  • 전체 리소스 업데이트시 사용, 요청 데이터에 리소스의 전체 필드를 포함.
  • 리소스의 위치를 지정해야 함.
  • 일반적으로 idempotent(멱등성)하며, 동일한 요청을 여러 번 보내더라도 결과는 동일함.

PATCH

  • 리소스의 일부를 업데이트시 사용, 요청 데이터에 변경 필드만 포함.
  • 리소스의 위치를 지정해야 함.

OSI 7계층

  • 7 계층(응용 계층) : 사용자와 직접 상호작용하는 계층
  • 6 계층(표현 계층) : 데이터의 형식을 정의하는 계층
  • 5 계층(세션 계층) : 컴퓨터 통신을 위한 세션을 만드는 계층
  • 4 계층(전환 계층) : 데이터의 전송 담당 계층
  • 3 계층(네트워크 계층) : 패킷을 목적지에 최적화 경로로 전송하기 위한 계층
  • 2 계층(데이터링크 계층) : 데이터의 물리 전송과 에러 검출, 흐름 제어 담당 계층
  • 1 계층(물리 계층) : 데이터를 전기 신호로 변환하는 계층

HTTP?

  • 서버-클라이언트 모델의 데이터 전송 프로토콜로 무상태가 특징
  • 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 동작
  • 메서드, 경로(Url), 프로토콜 버전, 헤더, 바디 등으로 구성

HTTP vs HTTPS

  • HTTP는 평문 데이터 전송 프로토콜로 정보를 주고 받을시 제3자에게 노출될 수 있음.
  • HTTPS는 HTTP에 암호화가 추가된 프로토콜로 대칭키와 비대칭키 암호화 모두 사용

HTTPS 과정

  1. 클라이언트가 서버로 최초 연결 시도
  2. 서버는 공개키와 CA 인증서 전달
  3. 클라이언트는 인증서의 유효성 검사후 세션키 발급
  4. 클라이언트는 서버의 공개키로 세션키 암호화후 서버로 전송
  5. 서버는 암호화된 세션키를 개인키로 복호화해 세션키 획득
  6. 클라이언트와 서버는 동일한 세션키를 공유해 데이터 전달시 세션키로 암호화/복호화 진행

출처

https://mangkyu.tistory.com/91
좋은 글 감사합니다!

profile
정신차려 이 각박한 세상속에서!!!

0개의 댓글