개념 및 기본 사항

핵심 개념 이해

C2C API는 통합 프로젝트를 시작하기 전에 이해해야 하는 몇 가지 필수 기술을 기반으로 합니다. 이 문서의 제목들을 검토해 보세요. 익숙하지 않은 용어가 있다면 이 가이드가 그러한 지식 공백을 채우는 데 도움이 될 것입니다. 특정 개념에 대해 어려움이 있는 경우, 저희 팀에서 추가 리소스와 지원을 제공해 드릴 수 있습니다.

알아야 할 사항

C2C API와 성공적으로 통합하려면 다음 사항에 대해 기본적으로 이해하고 있어야 합니다.

네트워킹

TLS/SSL, TCP/IP 프로토콜, 네트워킹 기초

HTTPS

보안 HTTPS 요청 구현

인증

인증 및 권한 부여 방법론

네트워킹 기본 사항 및 용어집

기본적으로 Frame.io API는 Frame.io의 서버와 사용자의 디바이스 또는 애플리케이션 간의 통신을 가능하게 하며, 모든 작업에 네트워크 상호 작용이 필요합니다.

명확한 통신은 서버와 클라이언트 간의 관계를 포함한 모든 관계에서 필수적입니다. 일상적인 대화에서 의사소통의 오류가 발생하는 것처럼 컴퓨터가 정보를 교환할 때도 비슷한 문제가 존재합니다.

표준적인 통신 문제를 해결하는 것 외에도, 중요한 데이터가 안전하게 전송되도록 보장해야 합니다. Frame.io는 모든 서버 통신에 암호화를 요구하여 프로세스에 필요한 보안 계층을 추가합니다.

C2C API를 구현하는 동안, 네트워킹 세부 정보를 처리하기 위해 타사 라이브러리를 사용하게 될 것입니다. 그러나 네트워킹 구성 요소는 종종 실제 오류를 발생시키므로, Frame.io의 서버와 상호 작용할 때 기본 프로세스를 이해하는 것이 유용합니다. 필수 용어의 간략한 용어집은 다음과 같습니다.

TCP/IP

Transmission Control Protocol / Internet Protocol - 글로벌 데이터 전송을 가능하게 하는 표준화된 구성 요소와 계층입니다. 자세한 내용은 이 이해하기 쉬운 개괄적인 리소스를 참조하세요.

TLS/SSL

Transport Layer Security / Secure Socket Layer - 기술적으로는 다르지만, 오늘날에는 일반적으로 혼용되어 사용됩니다. TLS는 SSL이 진화한 형태이지만, 원래의 약어(SSL)가 여전히 널리 사용되고 있습니다. TLS에 대한 자세한 내용은 이 개요를 참조하세요.

공개 키와 개인 키

공개 키는 자물쇠처럼 작동하며, 개인 키는 그 자물쇠에 맞는 열쇠의 역할을 합니다.

이런 상황을 상상해 보세요. 동료에게 기밀 메시지를 보내면서, 메시지가 전달될 때까지 개인 정보를 완벽하게 보호하고자 합니다.

먼저 동료에게 본인만 열쇠를 가지고 있는 자물쇠를 보내달라고 요청하세요.

이 자물쇠를 받으면, 그것을 사용하여 기밀 메시지를 상자에 안전하게 보관하세요. 상자를 다루는 사람은 누구나 자물쇠를 볼 수 있지만, 내용물에 액세스할 수 있는 열쇠는 동료에게만 있습니다. 이 자물쇠는 메시지를 보려는 권한이 없는 사람들에게는 아무런 가치도 제공하지 않습니다. 자물쇠를 채운 본인조차도 열쇠 없이는 잠금을 해제할 수 없습니다.

동료가 이 안전한 상자를 받으면, 자신의 열쇠를 사용하여 내용물에 액세스하기만 하면 됩니다.

공개 키와 개인 키도 똑같은 방식으로 작동합니다. 공개 키는 누구에게나 널리 공유할 수 있습니다. 수신자는 이 키를 사용하여 메시지를 암호화하지만, 개인 키 보유자만이 이러한 통신을 해독할 수 있습니다. 개인 키가 기밀로 유지되는 한, 공개 키는 자신이 생성한 암호화된 메시지를 해독하는 데 사용될 수 없습니다.

이러한 공개/개인 키 메커니즘은 TLS 기능의 기반이 되며, 당사자들이 공개적으로 통신하면서도 안전하고 사적인 채널을 구축할 수 있게 해줍니다.

Certificates

인증서에는 신뢰할 수 있는 인증 기관에서 인증한 공개 키와 개인 키가 포함되어 있습니다.

인증 기관이 키의 유효성을 검사할 때, 이는 기본적으로 해당 키의 진위 여부를 보증하는 것입니다. Google의 공개 키와 같은 공개 키의 수신자는 공인된 인증 기관으로부터 이 보증을 확인할 수 있습니다. 보증되지 않은 키는 사기일 가능성이 있는 것으로 간주되어 보안 경고를 트리거합니다.

Frame.io의 인증서는 Amazon Root CA 1 인증 기관에서 검증합니다. 이러한 인증서는 Certifi 라이브러리(Mozilla 및 Python Requests 라이브러리에서 사용)를 포함한 다양한 리소스를 통해 사용할 수 있습니다.

구현을 위해서는 api.frame.io에 대한 HTTPS 요청을 검증할 때 Certifi GitHub 리포지토리인증서 PEM 번들을 사용하는 것을 권장합니다.

서버

다른 컴퓨터에 정보를 제공하거나 저장하는 컴퓨터입니다. 웹 브라우저를 통해 Frame.io에 접속하면 브라우저가 Frame.io의 서버에 콘텐츠를 요청하고, 서버는 이에 맞게 응답합니다. Frame.io 내에서의 모든 작업은 브라우저와 저희 서버 간의 통신을 트리거하며, 서버는 귀하의 요청을 처리하여 적절한 결과를 반환합니다. Frame.io에 미디어를 업로드할 때, 해당 미디어를 저희 서버로 보내는 것입니다.

클라이언트

클라이언트 애플리케이션은 서버에 정보를 요청하거나 서버로 데이터를 보냅니다. C2C API를 구현할 때 C2C 클라이언트를 개발하게 됩니다.

HTTP/S

Hypertext Transfer Protocol / Secure - TCP/IP 모델의 애플리케이션 계층 내에서 작동합니다. HTTP와 HTTPS의 차이는 보안에 있습니다. HTTPS는 TLS/SSL 검증을 네트워크 통신에 통합합니다. HTTP는 여러 버전을 거치며 발전해 왔으며, 시간이 지남에 따라 새로운 표준을 확립했습니다. 버전 1.1은 여전히 글로벌 표준으로 남아 있으며, Frame.io API 통신에 사용해야 합니다.

RESTful API

REST(Representational State Transfer)는 HTTP 요청-응답 패턴을 기반으로 API를 개발하기 위한 설계 방법론입니다. REST는 API가 REST 원칙을 엄격하게 준수하지 않더라도, 브라우저-웹 페이지 간 통신과 구별되는 ‘프로그램 간 상호 작용을 위해 HTTP를 사용하는 일반적인 접근 방식’을 일컫는 용어로 자주 사용됩니다.

JSON

JavaScript Object Notation - 표준화된 데이터 교환 포맷입니다. 처음에는 JavaScript 오브젝트를 위해 개발되었으나, 지금은 네트워크 통신의 보편적인 표준이 되었습니다. C2C API는 응답을 JSON 데이터로 전달합니다.

AWS S3

Amazon의 Simple Storage Service는 클라우드 기반 데이터 스토리지 솔루션을 제공합니다. S3는 Frame.io의 비디오와 오디오 미디어를 저장하며, 통합 업로드를 위한 목적지 역할을 합니다.

HTTP/S 요청

HTTP는 웹 브라우징에서 어디에나 존재합니다. 거의 모든 웹 사이트 주소의 시작 부분에 나타납니다. HTTP(Hypertext Transfer Protocol)는 표준화된 컴퓨터 간 통신 프로토콜을 확립합니다.

HTTP는 클라이언트-서버 상호 작용을 위한 표준화된 양식 시스템이라고 생각할 수 있습니다. 마치 정보 요청이나 프로그램 지원에 필요한 정부 양식과 유사하게 말이죠. 제대로 작성된 양식이 없으면 정부 기관에서 요청을 처리하거나 응답할 수 없는 것과 같습니다.

HTTP 요청은 모든 Frame.io 애플리케이션 상호 작용을 원활하게 합니다. C2C API 프레임워크 내에서, HTTP 요청 유형은 사용 가능한 기능적 역량을 나타냅니다.

포괄적인 HTTP 개요를 확인하려면 이 유용한 문서를 참조하세요. 계속 진행하기 전에 이러한 기본 사항을 이해하는 것은 필수적입니다. HTTP 요청을 처음 접하는 경우, 입문 자료를 검토해 보시기 바랍니다. 최적의 준비를 위해 다음 HTTP 개념을 숙지하세요.

URL 구성 요소
  • 프로토콜

  • 호스트

  • 포트

  • 리소스

HTTP 요소
  • 헤더

  • Content-Type/Mimetype

  • 요청 및 응답 페이로드

  • HTTP 메서드(동사) 적용: GET, POST, PUT, DELETE 등

  • 양식 데이터

네트워킹 라이브러리가 일반적으로 요청 구성을 처리하지만, 필요한 경우 HTTP/1.1 RFC가 참고 리소스를 제공합니다.

인증 및 권한 부여

이러한 개념은 나중에 더 자세히 살펴보겠지만, 다음의 기본 원칙을 이해하는 것이 중요합니다.

인증

인증은 요청이 자신이 주장하는 출처에서 왔는지 확인합니다. 사용자 이름/암호 자격 증명으로 웹 사이트에 로그인할 때, 귀하는 암호를 알고 있음을 증명함으로써 자신을 인증하는 것입니다. 문자 메시지를 통한 확인 코드 수신과 같은 다단계 인증은 추가적인 인증 메커니즘을 나타냅니다.

권한 부여

권한 부여는 특정 작업을 수행할 수 있는 권한을 확인합니다. Frame.io 프로젝트나 Google 문서에 공동 작업자를 추가할 때, 귀하는 그들의 액세스 권한을 부여하는 것입니다. Frame.io나 Google은 이전에 이러한 사용자의 신원을 인증했으므로, 귀하가 자신 있게 그들의 참여를 승인할 수 있게 해줍니다.

OAuth

OAuth(Open Authorization)는 타사 인증 서비스와 연동하여 권한 부여 관리를 위한 표준화된 프레임워크를 제공합니다.

범위

권한(Scope)은 사용자가 수행할 수 있는 승인된 작업을 정의합니다. 디바이스를 Frame.io에 연결할 때 특정 작업을 승인하는 특정 scope를 요청하고 받게 됩니다. 예를 들어, asset_create scope는 에셋 생성 및 업로드를 허용합니다. 개념적으로 scope는 권한 집합의 역할을 합니다.

다음 단계

질문이 있으시면 언제든지 저희 팀에 문의해 주시고, 다음 가이드 섹션으로 진행하세요. 성공적인 통합 작업을 지원할 수 있기를 기대합니다.

기술 개요는 통합 아키텍처 가이드를 참조하세요. 아직 확인하지 않으셨다면, 계속하기 전에 C2C 구현: 설정 가이드를 검토해 주세요. 인증 및 권한 부여 과정에서 획득한 access_token이 필요합니다.