# Bluesky에 호스팅된 웹사이트

> Clean Markdown view of GeekNews topic #17934. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17934](https://news.hada.io/topic?id=17934)
- GeekNews Markdown: [https://news.hada.io/topic/17934.md](https://news.hada.io/topic/17934.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-25T09:46:44+09:00
- Updated: 2024-11-25T09:46:44+09:00
- Original source: [danielmangum.com](https://danielmangum.com/posts/this-website-is-hosted-on-bluesky/)
- Points: 3
- Comments: 0

## Topic Body

##### Bluesky와 AT 프로토콜

- **Bluesky와 AT 프로토콜 소개**
  - Bluesky는 개인 데이터 서버(PDS)를 통해 웹사이트를 호스팅할 수 있는 기능을 제공함.
  - AT 프로토콜은 웹사이트 콘텐츠 업로드에 사용되는 API를 정의하며, PDS가 이를 구현함.
  - Bluesky는 `bsky.social` 도메인을 통해 PDS에 접근할 수 있는 진입점을 제공함.

- **콘텐츠 유형: 레코드와 블롭**
  - 대부분의 소셜 애플리케이션은 레코드와 블롭이라는 두 가지 주요 콘텐츠 유형을 가짐.
  - 레코드는 사용자가 생성하는 핵심 엔티티로, 구조와 메타데이터를 가짐.
  - 블롭은 주로 미디어 자산과 같은 큰 비구조적 데이터로, 레코드를 통해 참조됨.

- **블롭 업로드와 관리**
  - 블롭은 레코드가 참조하기 전에 PDS에 업로드되어야 함.
  - 업로드된 블롭은 임시 저장소에 저장되며, 참조되기 전까지 접근할 수 없음.
  - 서버는 레코드 생성 시 참조된 블롭을 확인하고, 성공 시 블롭을 공개적으로 접근 가능하게 함.

- **데이터 생성 및 인증**
  - PDS에 데이터 생성 작업을 수행하려면 인증을 위한 액세스 토큰이 필요함.
  - `com.atproto.server.createSession` XRPC 메서드를 사용하여 사용자 자격 증명을 토큰으로 교환할 수 있음.

- **블롭 참조 및 레코드 생성**
  - 블롭은 `app.bsky.feed.post` 레코드에서 참조될 수 있으며, 이미지로 포함될 수 있음.
  - MIME 타입 검증을 통해 블롭 참조의 유효성을 확인함.

- **보안 고려 사항**
  - 웹 서버에서 사용자 업로드 파일을 제공하는 것은 보안 문제를 야기할 수 있음.
  - 콘텐츠 보안 정책(CSP)을 통해 `getBlob` 엔드포인트에 대한 보안을 강화해야 함.

- **CDN을 통한 이미지 제공**
  - Bluesky 애플리케이션의 이미지 블롭은 PDS 인스턴스가 아닌 CDN을 통해 제공됨.
  - 애플리케이션은 CDN을 통해 이미지를 제공하는 방법을 알고 있어야 함.

- **오픈 소스의 장점**
  - Bluesky의 PDS 구현은 오픈 소스로 제공되어, 블롭 참조가 어떻게 정의되는지 확인할 수 있음.
  - 새로운 렉시콘을 지원하기 위해 PDS는 알지 못하는 렉시콘도 처리할 수 있어야 함.

- **렉시콘의 확장 가능성**
  - `app.bsky.feed.post` 타입은 유효한 임베드에 대한 유니온을 포함하며, 기본적으로 오픈되어 있음.
  - 새로운 타입의 임베드를 추가할 수 있으며, 이는 기존 사용 사례를 확장하는 "마이크로 확장"을 가능하게 함.

## Comments



_No public comments on this page._
