
TCP는 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정합니다. 그렇기 때문에 높은 신뢰성을 보장하지만 속도가 비교적 느리다는 단점이 있습니다. UDP는 비연결형 서비스로 3-way handshaking을 사용하지 않기 때문에 신뢰성이 떨어지는 단점이 있습니다. 하지만 수신 여부를 확인하지 않기 때문에 속도가 빠릅니다. TCP는 신뢰성이 중요한 파일 교환과 같은 경우에 쓰이고 UDP는 실시간성이 중요한 스트리밍에 자주 사용됩니다.
출처: https://mangkyu.tistory.com/91 [MangKyu's Diary:티스토리]
3-way handshaking 로 연결, 4-way handshaking
- 3-way : sink, ack, 응답 여부확인
- 4-way : 끊을게, ack, 끊어졌다, 아직 전송되지 않은 데이터를 확인
HTTP란 서버/클라이언트 모델에서 데이터 전송을 위한 프로토콜입니다.
즉, HTTP는 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 port를 사용합니다.
HTTP는 평문 데이터를 전송하기 때문에, 비밀번호나 주민등록번호 등과 같은 민감 정보를 주고 받을 때 제 3자가 열람이 가능합니다. 이러한 문제들이 HTTPS의 등장의 배경이 됩니다.
HTTPS란 HTTP에 데이터 암호화가 추가된 프로토콜입니다. HTTPS는 포트번호 443번을 사용하며, 네트워크 상에서 중간에 제 3자가 정보를 볼 수 없도록 암호화를 지원합니다.
결론, HTTP는 암호화가 추가되지 않았기 때문에 보안에 취약하지만, HTTPS는 안전하게 데이터를 주고 받을 수 있습니다. 하지만, HTTPS를 사용 시 암호화/복호화 과정이 추가되기 때문에 속도면에서 더 느립니다.(오늘날에는 그 차이가 미비합니다.) 또한, HTTPS는 인증서를 발급 및 유지하기 위한 유지 비용이 추가 발생합니다.
따라서, 개인정보와 같은 민감데이터를 주고 받을 때 HTTPS를 이용해야 하지만, 노출이 되어도 괜찮은 단순 정보의 경우 HTTP를 사용하면 됩니다.