TCP 와 UDP
TCP (Transmission Control Protocol):
- 연결 지향적: 통신을 시작하기 전에 연결 설정 과정을 거칩니다.
- 신뢰성: 패킷 전송의 확인과 오류 복구 기능을 제공합니다. 손실된 데이터는 재전송됩니다.
- 흐름 제어: 데이터의 전송 속도를 제어하여 네트워크의 과부하를 방지합니다.
- 순서 보장: 데이터는 전송된 순서대로 도착합니다.
- 상대적으로 느림: 위의 특징들 때문에 UDP보다 상대적으로 느릴 수 있습니다.
UDP (User Datagram Protocol):
- 연결이 없음: 통신을 시작하기 전에 별도의 연결 설정 과정 없이 데이터를 바로 전송합니다.
- 신뢰성 없음: 패킷의 손실이나 순서 변경 없이 전송되는 것을 보장하지 않습니다.
- 흐름 제어 없음: 데이터는 가능한 빠르게 전송됩니다.
- 빠른 전송: TCP보다 빠르게 데이터를 전송할 수 있습니다.
- 상태 정보 없음: 연결의 상태나 세션 정보를 유지하지 않습니다.
HTTP와 HTTPS의 차이
- 보안:
- HTTP: 데이터는 암호화되지 않고 평문 형태로 전송됩니다. 이로 인해 중간자 공격(man-in-the-middle attack)에 취약합니다.
- HTTPS: SSL/TLS를 사용하여 데이터를 암호화하여 전송합니다. 이로 인해 데이터의 기밀성 및 무결성이 보장됩니다.
- 포트 번호:
- HTTP: 기본 포트는 80입니다.
- HTTPS: 기본 포트는 443입니다.
- 성능:
- HTTP: 암호화 과정이 없기 때문에 상대적으로 빠릅니다.
- HTTPS: SSL/TLS 암호화 및 인증 과정 때문에 초기 연결 설정에 약간의 지연이 발생할 수 있습니다. 하지만 최근의 최적화 기술로 인해 차이는 점점 줄어들고 있습니다.
- 인증:
- HTTPS는 SSL/TLS 인증서를 사용하여 웹사이트의 신뢰성을 검증합니다. 인증서는 인증 기관(Certificate Authority, CA)에 의해 발급됩니다.
간단히 말하면, HTTP는 암호화되지 않은 연결에서 작동하는 반면, HTTPS는 보안 연결에서 작동하며, 데이터의 기밀성, 무결성, 및 인증을 제공합니다.