Oauth 2.0 은 사용자의 데이터에 접근학 위해, 접근 권한을 위임 받을 수 있는 프로토콜.
프로토콜이라는게 처음엔 http만 있는 줄 알았고,
그 다음엔 webSocket을 배우면서 얘도 프로토콜이구나 생각했다.
그 이후엔 MCP가 나오면서 얘도 프로토콜이구나 생각했고,
지금 Oauth를 배우면서 얘도 프로토콜로 배우는 중이다.
결국에 프로토콜이라는 것은 무엇을 할 것 이라는 약속으로 이해된다.
어떠한 것을 사용하려면 그 프로토콜 규격에 맞게 사용해야한다.
인터넷의 기본 토대가 되는 프로토콜.
TCP의 역할:
IP의 역할:
이메일을 보내는 방식을 정한 프로토콜
동작 방식:
이메일 클라이언트가 SMTP 서버에 연결
"HELO" - 인사
"MAIL FROM:" - 보내는 사람 알림
"RCPT TO:" - 받는 사람 알림
"DATA" - 이메일 내용 전송
"QUIT" - 연결 종료
파일을 주고받는 방식을 정한 프로토콜
특징:
두 개의 연결을 사용 (명령용 + 데이터 전송용)
로그인 필요 (사용자명/비밀번호)
파일 업로드/다운로드, 폴더 생성/삭제 등 가능
웹사이트 파일을 서버에 올릴 때 많이 사용
사람이 기억하기 쉬운 도메인 이름을 컴퓨터가 이해하는 IP 주소로 바꿔주는 프로토콜
동작 과정:
브라우저에 "google.com" 입력
DNS 서버에게 "google.com의 IP 주소가 뭐야?" 질문
DNS 서버가 "142.250.196.14입니다" 응답
브라우저가 해당 IP 주소로 접속
HTTP/HTTPS, WebSocket, SMTP, FTP 은 TCP/IP 위에서 동작.
DNS만 UDP/IP 위에서 동작한다고함.
UDP (User Datagram Protocol)는 TCP와 함께 전송 계층에서 사용되는 프로토콜인데, TCP와는 정반대 성격을 가지고 있음.
TCP (신중한 택배)
패킷이 제대로 도착했는지 확인
순서대로 도착했는지 체크
누락되면 다시 전송 요청
연결을 유지하면서 통신
느리지만 안전하고 정확
UDP (빠른 우편)
그냥 던져버림 (Fire and Forget)
도착했는지 확인 안 함
순서 상관없음
연결 유지 안 함
빠르지만 불안정
UDP가 사용되는 경우
실시간 게임
캐릭터 위치 정보
0.1초 전 위치 정보보다 지금 위치가 중요
일부 패킷이 손실되어도 괜찮음
실시간 영상/음성 통화
Zoom, Discord 등
화질이 잠깐 깨져도 계속 진행하는 게 중요
DNS 조회
"google.com의 IP 주소가 뭐야?" 질문
답 안 오면 다시 물어보면 됨
빠른 응답이 중요
실시간 스트리밍
유튜브 라이브, 트위치
몇 프레임 놓쳐도 계속 보는 게 중요
