So sánh Amazon S3 Rest API Endpoint và S3 Web Endpoint
Trong Amazon S3, rất thường xuyên chúng ta bắt gặp khái niệm "S3 Rest API Endpoint" và "S3 Website Endpoint". Trong bài này tôi sẽ thích và so sánh sự khác biệt giữa hai Endpoints (điểm cuối) nói trên.
1. S3 Rest API Endpoint (S3 Endpoint)
Sau khi bạn tạo một S3 Bucket và tải lên một vài đối tượng, bạn có thể xem thông tin các đối tượng này trên S3 Console, thông tin này bao gồm một URL của đối tượng:
S3 Rest API Endpoint Object URL
URL trên được gọi là "S3 Rest API Endpoint Object URL". Awssdk S3 Rest API sử dụng URL này để thực hiện các hành động như tải lên, tải xuống, xoá và các thiết lập khác đối với đối tượng.
Định dạng của "S3 Rest API Endpoint Object URL":
URL Format | Description | |
http://s3.{region-id}.amazonaws.com/{bucket-name}/{object-key} | Định dạng URL này đã lỗi thời, nó sẽ không còn được hỗ trợ trong tương lai. | |
http://{bucket-name}.s3.{region-id}.amazonaws.com/{object-key} | Định dạng URL mới và được khuyến khích sử dụng để thay thế cho định dạng URL cũ. |
Nếu bạn muốn truy cập "S3 Rest API Endpoint Object URL" trên trình duyệt, bạn phải thực hiện 2 bước cấu hình sau:Bật quyền (permission) truy cập công cộng cho S3 Bucket này.Thiết lập chính sách truy cập công cộng cho S3 Bucket này.Việc cấu hình này được đề cập trong bài viết dưới đây:
S3 Rest API Endpoint Object URL | Awssdk Rest API sử dụng URL này để thực hiện việc tải lên, tải xuống, xoá hoặc các thiết lập khác cho đối tượng.
|
S3 Rest API Endpoint (S3 Endpoint) | Là một tên miền con đại diện cho một S3 Bucket.
|
2. S3 Website Endpoint
Sau khi một S3 Bucket được bật tính năng "Static Website Hosting", các đối tượng của nó có thể được truy cập thông qua "S3 Website Endpoint Object URL".
- http://{bucket-name}.s3-website.{region-id}.amazonaws.com/{object-key}
S3 Website Endpoint Object URL | URL của một đối tượng, truy cập được thông qua trình duyệt.
|
S3 Website Endpoint | Là một tên miền con đại diện cho một S3 Static Website.
|
3. S3 Rest API Endpoint vs S3 Website Endpoint
Default Home Page
S3 Website Endpoint hỗ trợ trang chủ mặc định cho website, nó sẽ hiển thị nội dung của "index.html".
S3 Rest API Endpoint (S3 Endpoint) | Trang chủ mặc định không được hỗ trợ.
Bạn sẽ nhận được lỗi 403 (Access Denied) dưới định dạng XML. Hoặc bạn sẽ nhận được một văn bản XML liệt kê danh sách các đối tượng có trong S3 Bucket (Nếu chính sách của S3 Bucket này cho phép quyền s3:ListBucket). |
S3 Website Endpoint | Trang chủ mặc định được hỗ trợ, nó hiển thị nội dung của file "index.html".
|
Default Error Response
Với các lỗi HTTP (403, 404,...), S3 Rest API Endpoint trả về một văn bản XML trong khi S3 Website Endpoint trả về một văn bản HTML.
S3 Rest API Endpoint (S3 Endpoint) | Trả về văn bản lỗi định dạng XML.
|
S3 Website Endpoint | Trả về văn bản lỗi định dạng HTML.
|
x-amz-website-redirect-location
S3 Website Endpoint hỗ trợ chuyển hướng với x-amz-website-redirect-location, còn S3 Rest API Endpoint thì không.
S3 Website Redirection Rules
S3 Website Endpoint hỗ trợ các quy tắc chuyển hướng trong website, còn S3 Rest API Endpoint thì không.
Các hướng dẫn Amazon Web Services
- Giới thiệu về Amazon Web Services (AWS)
- Giới thiệu về Amazon S3
- Giới thiệu về Amazon Cloudfront và kiến trúc của nó
- Làm sao để giảm chi phí Amazon Cloudfront?
- Vô hiệu hoá bộ nhớ đệm CloudFront
- Giới thiệu về DigitalOcean Spaces
- Hướng dẫn tạo DigitalOcean Spaces Bucket
- Giới thiệu về Amazon ACM
- Java Awssdk S3 Tải tệp lên S3 Bucket với S3Client
- Tạo AWS accessKeyId/secretAccessKey
- Java Awssdk S3 Liệt kê các đối tượng trong S3 Bucket
- Lưu trữ (host) một Website tĩnh trên Amazon S3
- Vô hiệu hoá bộ nhớ đệm của CloudFront với Java
- Tạo DigitalOcean Spaces Access Key
- Java Awssdk Các Credentials Provider thông dụng
- Java Awssdk Tạo và sử dụng ProfileCredentialsProvider
- Java Awssdk Tạo và sử dụng EnvironmentVariableCredentialsProvider
- Java Awssdk Tạo và sử dụng SystemPropertyCredentialsProvider
- Java Awssdk S3 Tải object lên với S3TransferManager
- Java Awssdk S3 Tải object xuống với S3TransferManager
- Java thao tác với DigitalOcean Spaces sử dụng S3TransferManager
- Java tạo, liệt kê và xoá S3 Bucket
- Aws Console Tạo tài khoản người dùng IAM
- Tạo một vùng chứa Amazon S3 (S3 Bucket)
- Các quy tắc chuyển hướng cho S3 Static Website
- Cấu hình tên miền tuỳ chỉnh cho website tĩnh Amazon S3
- Tạo bản phân phối CloudFront cho S3 Bucket
- Cấu hình các trang phản hồi lỗi cho CloudFront
- Tạo các chính sách S3 Bucket
- Công cụ tạo các chính sách cho AWS - policygen
- So sánh Amazon S3 Rest API Endpoint và S3 Web Endpoint
- Chuyển hướng trong S3 Website với x-amz-website-redirect-location
- Di chuyển (migrate) dịch vụ DNS tới Amazon Route 53
- Chuyển (transfer) đăng ký tên miền tới Amazon Route 53
- Yêu cầu chứng chỉ SSL từ Amazon ACM
Show More