«Работает ли Cookie с флагом безопасности по запросу Http с портом 443?»
- Нет. Файл cookie с флагом безопасности работает только в среде HTTPS. HTTP-запрос к порту 443 (порт HTTPS по умолчанию) по-прежнему является HTTP, а не HTTPS. Протокол является протоколом, не будет решено, какой порт используется.
Согласно RFC6265 :
Атрибут Secure ограничивает область действия cookie до «secure»
каналы (где «безопасный» определяется агентом пользователя). Когда
cookie имеет атрибут Secure, пользовательский агент будет включать
cookie в HTTP-запросе , только если запрос передается через
защищенный канал (обычно HTTP через безопасность транспортного уровня (TLS)
HTTP-запрос на порт 443 не передается по защищенному каналу.
Я провел простой эксперимент, и результат указан ниже:
- Создайте веб-сервер, прослушайте порт 443 с протоколом HTTP. Хорошо работает.
- На указанном выше сервере верните cookie без флага безопасности. Браузер получил cookie и успешно сохранил его.
- На указанном выше сервере верните cookie с флагом безопасности. Браузер получил cookie, но автоматически его игнорирует, поскольку текущий протокол HTTP, а не HTTPS.
"Как насчет ssl по запросу Http с портом 443?"
- Нет SSL-запроса на HTTP-запрос с портом 443. 443 - обычное, обычное число, для него нет ничего особенного. Он просто выбирается как порт HTTPS по умолчанию, ничего более.