openplanning

So sánh Amazon S3 Rest API Endpoint và S3 Web Endpoint

  1. S3 Rest API Endpoint (S3 Endpoint)
  2. S3 Website Endpoint
  3. S3 Rest API Endpoint vs S3 Website 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""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.
  • http://{bucket-name}.s3.{region-id}.amazonaws.com/{object-key}
S3 Rest API Endpoint
(S3 Endpoint)
Là một tên miền con đại diện cho một S3 Bucket.
  • {bucket-name}.s3.{region-id}.amazonaws.com

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.
  • http://{bucket-name}.s3-website.{region-id}.amazonaws.com/{object-key}
S3 Website Endpoint
Là một tên miền con đại diện cho một S3 Static Website.
  • {bucket-name}.s3-website.{region-id}.amazonaws.com

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ợ.
  • http://{bucket-name}.s3.{region-id}.amazonaws.com
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".
  • http://{bucket-name}.s3-website.{region-id}.amazonaws.com
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.
  • http://{bucket-name}.s3.{region-id}.amazonaws.com/{404-key}
S3 Website Endpoint
Trả về văn bản lỗi định dạng HTML.
  • http://{bucket-name}.s3-website.{region-id}.amazonaws.com/{404-key}
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

Show More