Назад | Перейти на главную страницу

В чем разница между всеми URL-адресами S3?

Я хочу размещать ресурсы в Интернете. Я создал общественный ведро с хостинг веб-сайтов включен.

Я обнаружил несколько типов URL-адресов, поддерживаемых AWS:

# HTTP + HTTPS
https://<bucket>.s3.amazonaws.com/<file>

# HTTP only!
http://<bucket>.s3-website-<region>.amazonaws.com/<file>

# HTTP + HTTPS
# Will be removed
# See https://forums.aws.amazon.com/ann.jspa?annID=6776
https://s3.<region>.amazonaws.com/<bucket>/<file>

Почему существует так много форматов и какой из них предпочтительнее?

С моей точки зрения, первый URL-адрес проще и поддерживает HTTPS, поэтому он лучше IMO, но есть ли недостатки в его использовании?

Первый и третий - это URL REST а второй - URL веб-сайта - они могут обслуживаться из одного ведра, но ведут себя немного по-разному и имеют разное предназначение. Видеть Ключевые различия между веб-сайтом Amazon и конечной точкой REST API.

Я не верю, что 3-я форма будет удалена в ближайшее время (AWS очень консервативно отказывается от существующих вещей), но это не рекомендуемый способ, потому что на самом деле он в некоторых случаях перенаправляет на первую форму. Если вы напрямую используете первую форму, вы избавляетесь от перенаправления.

Надеюсь, это поможет :)

Да, если вы хотите сделать что-то в разных регионах, сложно управлять URL-адресом с помощью кода, поэтому выберите что-то, что легко кодировать. Всякий раз, когда вы хотите сослаться на ведро s3 другого региона, вам не нужно создавать другой URL. Поскольку URL-адрес на основе пути будет удален, я предпочитаю URL-адрес, который также будет содержать регион. Предположим случай

url = http://<bucket>.s3-website-<region>.amazonaws.com/

по этому URL-адресу я могу ссылаться на сегменты в разных регионах, что полезно, если вам нужен аналогичный URL-адрес сегмента в разных регионах. Также это зависит от вариантов использования.