Чому я маю повторно підтверджувати свою підписку до розсилки, якщо я вже натиснули на підтверджувальне покликання в електронному листі?

Є дві причини, чому підписка до нашої розсилки новин потребує декількох натисків:

Лише користувачі повинні мати можливість підписатися

Цей пункт доволі легко зрозуміти. Загалом, людина не повинна мати можливість підписати поштову скриньку іншої людини до розсилки новин FreeSewing.

Саме тому, після Вашої ініціативи підписатися, ми надсилаємо Вам електронного листа на вказану Вами електронну адресу. Отримання Вами цього листа підтверджує не лише активність електронної адреси, але й те, що Ви маєте доступ до неї.

Іншими словами, лише після натиску на підтверджувальне покликання у листі ми можемо бути впевнені в тому, що:

  • електронна поштова адреса працює;
  • власник цієї адреси бажає підписатися до розсилки.

На цьому мало б усе закінчитися. Якби не одна важлива технічна деталь:

Запити GET не мають вносити зміни

WARNING|

Цей пункт є більш технічним та важчим для розуміння

Another reason is that while we could make it so that clicking the link in your email would immediately subscribe you, it would be in violation of internet standards. Зокрема, визначення запиту GET протоколу HTTP, в якому вказується, що:

NOTE
Запити GET мають лише отримувати дані й не повинні виконувати будь-які інші дії (переклад з англійської).

wikipedia.org/wiki/HTTP#HTTP/1.1_request_messages

GET-запит — це те, що відбувається, коли Ви переходите за покликанням. Тобто перехід за покликанням не має вносити жодних змін (як підписка до розсилки новин).

Наприклад: якщо Ви отримуєте листа, Ваш поштовий клієнт може попередньо завантажити покликання на тлі. Це збільшує швидкість завантаження, коли Ви натиснете на це покликання.

Очевидно, що таке попереднє завантаження не має підтверджувати Вашу підписку. Саме тому Вам потрібно натиснути окрему кнопку для підтвердження. Це пустить в дію запит POST, який може вносити зміни.

TIP
Це не стосується користувачів, що підписуються через свій обліковий запис

Ця інформація не стосується користувачів, які підписуються до нашої розсилки новин через налаштування свого облікового запису. В такому випадку нам не потрібно верифікувати Вашу електронну адресу, оскільки ми вже зробили це при реєстрації.

Для користувачів з обліковим записом, підписка (та відписка) відбувається миттєво (якщо Вам цікаво, ми використовуємо ідемпотентний запит PUT).