Network

mangez_js·2024년 12월 10일

Study

목록 보기
27/47

HTTP의 GET과 POST 비교

구분GETPOST
데이터 전송URL에 쿼리 스트링으로 데이터를 포함하여 전송HTTP 메시지의 Body에 데이터를 포함하여 전송
용도데이터 조회(Read)와 같은 안전한 요청데이터 생성(Create), 수정(Update), 삭제(Delete)와 같이 상태를 변경하는 요청
캐싱캐싱 가능일반적으로 캐싱 불가
길이 제한URL 길이 제한 존재(브라우저 및 서버에 따라 다름)길이 제한 없음
보안데이터가 URL에 노출되어 보안에 취약데이터가 Body에 포함되어 상대적으로 안전
멀티파트 전송지원하지 않음멀티파트 폼 데이터 전송 가능

TCP 3-Way Handshake

  1. SYN(Synchronize)
  • 클라이언트가 서버에 연결 요청(SYN 패킷) 송신
  1. SYN-ACK(Synchronize Acknowledgment)
  • 서버가 클라이언트 요청을 수락하고, 응답(SYN-ACK 패킷) 송신
  1. ACK(Acknowledgment)
  • 클라이언트가 서버의 응답을 확인(ACK 패킷) 송신
    연결이 성립되고 데이터 전송 준비 완료

TCP와 UCP

특징TCPUDP
전송제어 프로토콜비연결형 프로토콜
연결 방식연결 지향(Connection-Oriented)비연결(Connectionless)
신뢰성높은 신뢰성(데이터 손실 시 재전송, 순서 보장)낮은 신뢰성(재전송 및 순서 보장 없음)
속도느림(신뢰성 유지 과정 필요)빠름(오버헤드 없음)
용도파일 전송, 이메일, 웹 브라우징실시간 스트리밍, VoIP, 게임
헤더 크기크다(20~60 bytes)작다(8 bytes)

HTTP와 HTTPS

  • HTTP(HyperText Transfer Protocol
    ∘ 데이터가 암호화되지 않은 상태로 전송
    ∘ 80번 포트를 사용
  • HTTPS(HTTP Secure)
    ∘ SSL/TLS를 이용해 데이터 암호화
    ∘ 중간자 공격 방지 및 데이터 기밀성 보장
    ∘ 443번 포트를 사용

HTTP의 문제점

  1. 비암호화 : 데이터가 평문으로 전송되어 도청 가능
  2. 상태 비유지 : HTTP는 무상태 프로토콜로 요청 간 상태를 유지하지 않음
  3. 성능 이슈 : 다수의 요청/응답에서 연결 설정 및 해제 비용 발생
  4. 보안 취약점 : 데이터 위변조, 중간자 공격 등에 취약

DNS Round Robin 방식

  • 개념 : 여러 서버 IP 주소를 동일한 도메인에 연결하여, 요청마다 순차적으로 다른 서버로 분산 처리
  • 장점 : 부하 분산 및 가용성 향상
  • 문제점
  1. 서버의 수 만큼 공인 IP주소가 필요함
  2. 균등하게 분상되지 않음
  3. 서버가 다운되도 확인 불가
  • WRR(Weighted Round Robin)
    ∘ 각각의 웹 서버에 가중치를 가미해서 분산 비율을 변경한다
  • Least Connection
    ∘ 접속 클라이언트 수가 가장 적은 서버를 선택한다.

웹 통신의 큰 흐름

  1. 브라우저 단계
  • 사용자가 URL을 입력하면 브라우저는 규칙에 따라 URL의 의미를 해석합니다.
  • URL을 기반으로 HTTP Request 메시지를 생성합니다.
  • 브라우저는 메시지 전송을 OS에 의뢰하며, 이때 도메인명을 IP 주소로 변환하기 위해 DNS 서버를 조회합니다.
  1. 프로토콜 스택과 LAN 어댑터 단계
  • OS의 프로토콜 스택이 브라우저로부터 HTTP Request 메시지를 받아 패킷으로 저장합니다.
  • 제어정보(수신처 주소 등)를 덧붙여 LAN 어댑터로 넘깁니다.
  • LAN 어댑터는 패킷을 프레임으로 변환하고 전기신호로 만들어 LAN 케이블에 송출합니다.
  1. 허브, 스위치, 라우터 단계
  • LAN 어댑터가 송출한 프레임은 스위칭 허브와 라우터를 통해 인터넷으로 전달됩니다.
  • 라우터는 프레임을 인터넷 서비스 제공자(ISP)로 넘겨주며 인터넷 네트워크에 진입합니다.
  1. 엑세스 회선과 프로바이더 단계
  • 패킷은 엑세스 회선을 통해 POP(Point of Presence)로 전달됩니다.
  • POP를 거쳐 인터넷의 고속 라우터들 사이로 목적지를 향해 전송됩니다.
  1. 방화벽과 캐시 서버 단계
  • 패킷이 목적지 웹 서버의 LAN에 도착하면 방화벽이 이를 검사하여 유효성을 확인합니다.
  • 캐시 서버는 요청한 데이터가 캐시에 존재하는 경우, 웹 서버까지 가지 않고 바로 데이터를 제공합니다.
  1. 웹 서버 단계
  • 패킷이 웹 서버에 도달하면 프로토콜 스택이 패킷을 추출하고 메시지를 복원합니다.
  • 웹 서버 애플리케이션은 요청 메시지를 처리하고 응답 메시지를 생성합니다.
  • 응답 메시지는 클라이언트로 역경로를 통해 회송됩니다.

0개의 댓글