9. TCP/UDP에 대해서 설명해주세요.
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 네트워크 통신을 위한 프로토콜
TCP (Transmission Control Protocol):
1. 신뢰성 있는 연결 지향 프로토콜: TCP는 연결을 설정하고, 데이터 전송 후에 연결을 해제하는 신뢰성 있는 프로토콜
2. 3-way Handshaking: TCP 연결 설정에는 3-way Handshaking이 사용됨. 클라이언트가 서버에 연결을 요청하고, 서버가 수락하며 연결을 설정하는 과정
3. 신뢰성 있는 데이터 전송: 데이터 전송 시, 데이터의 정확성과 순서를 보장하며 오류가 발생할 경우 재전송을 통해 복구함.
4. 흐름 제어와 혼잡 제어: 네트워크 상황에 따라 데이터의 흐름과 혼잡을 제어하여 효율적인 전송을 지원함.
UDP (User Datagram Protocol):
비연결형 프로토콜: UDP는 연결 설정 과정이 없이 데이터를 즉시 전송하는 비연결형 프로토콜
1. 신뢰성 없는 데이터 전송: 데이터를 전송할 때 오류 검출은 제공하지만, 오류가 발생하면 복구하지 않음. 또한, 순서가 보장되지 않음.
2. 데이터 전송 속도가 빠름: 연결 설정 및 관리를 하지 않기 때문에 전송 속도가 빠르며, 오버헤드가 적음
3. 흐름 제어와 혼잡 제어가 없음: TCP에서 제공하는 흐름 제어와 혼잡 제어가 없기 때문에 빠른 전송을 위해 사용됨.
3-way Handshaking:
TCP에서 클라이언트와 서버 간에 연결을 설정하기 위해 사용되는 과정 .
3-way Handshaking의 단계 :
1. SYN (Synchronize): 클라이언트가 서버에게 연결을 요청하는 메시지를 보냄.
2. SYN + ACK (Synchronize Acknowledgment): 서버는 클라이언트의 요청을 받아들이고, 클라이언트에게 연결 수락 및 응답을 보냄.
3 ACK (Acknowledgment): 클라이언트는 서버의 응답을 받고, 서버와의 연결이 성공적으로 설정되었다는 확인 응답을 보냄.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10. http, https 차이점에 대해 설명해주세요
HTTP (Hypertext Transfer Protocol):
1. HTTP는 웹 상에서 데이터를 주고받기 위한 프로토콜입니다. 주로 웹 브라우저와 웹 서버 간에 데이터를 전송하는 데 사용.
2. HTTP는 기본적으로 텍스트 기반의 프로토콜이며, 보안 기능을 제공하지 않음.
3. 데이터 전송 시 평문 텍스트로 전송되기 때문에, 도청이나 데이터 변조와 같은 보안 문제가 발생할 수 있음
HTTPS (Hypertext Transfer Protocol Secure):
1. HTTPS는 HTTP의 보안 버전으로, SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화하는 보안 기능을 제공.
2. HTTPS는 웹 브라우저와 웹 서버 간의 통신을 암호화하여 도청, 데이터 변조, 중간자 공격과 같은 보안 문제를 방지.
주요 차이점:
보안 (암호화):
HTTP: 평문으로 데이터를 전송하므로 보안 기능이 없습니다.
HTTPS: SSL 또는 TLS 프로토콜을 사용하여 데이터를 암호화하여 안전하게 전송합니다.
포트:
HTTP: 기본 포트는 80입니다.
HTTPS: 기본 포트는 443입니다.
URL 표시:
HTTP: http://
HTTPS: https://
인증서 (SSL/TLS 인증서):
HTTP: SSL 인증서를 사용하지 않음.
HTTPS: SSL 인증서를 사용하여 웹 서버의 신뢰성을 증명하고, 사용자는 안전한 사이트에 접속했다는 것을 확인 가능.
속도:
HTTP: 암호화되지 않은 데이터를 전송하므로 속도가 빠름
HTTPS: 데이터를 암호화하고 전송하므로 약간의 성능 저하가 있을 수 있음.
사용 용도:
HTTP: 주로 정보를 조회하는 경우, 보안이 크게 중요하지 않을 때 사용.
HTTPS: 사용자의 개인정보나 결제 정보와 같이 민감한 정보를 주고받아야 할 때 사용.
'내일배움캠프 스프링3기' 카테고리의 다른 글
2024-01-16 TIL (1) | 2024.01.16 |
---|---|
2024-01-15 TIL (0) | 2024.01.15 |
2024-01-10 TIL (0) | 2024.01.10 |
2024-01-08 TIL (1) | 2024.01.08 |
2024-01-05 TIL (1) | 2024.01.05 |