И, кроме того, почему чувствительность в белом пространстве? Если JavaScript может добавлять файлы cookie после загрузки HTML, я бы предположил, что есть что-то принципиально иное в том, как они это делают, но я не могу понять даже хорошее предположение о том, почему.Почему файлы cookie и сеансы должны присутствовать перед любым HTML?
ответ
HTTP-ответы состоят из заголовка и тела (необязательно в зависимости от заголовка).
Файлы cookie устанавливаются с помощью HTTP-заголовков.
HTML-документы (любое другое фактическое содержимое) отправляются в теле.
Заголовок должен быть отправлен перед корпусом. Это может быть сделано путем:
- работает код для вывода их перед кодом для вывода тела
- буферизации вывода программы PHP, пока он не закончит работу
А кроме того, почему чувствительность в белом пространстве?
Пробелы не являются особыми в телах ответа HTTP. Он выводится как любой другой контент.
Если JavaScript можно добавить печенье после загрузки HTML, то я бы предположил, есть что-то принципиально другое о том, как они это делают
Они не используют HTTP-заголовки, чтобы установить их.
Этот ответ является неполным. Можно отправлять заголовки после тела, используя кодировку с кодировкой HTTP/1.1. Интересный вопрос в том, почему PHP этого не позволяет. Я предполагаю, что они либо не знают, либо хотят, чтобы они обеспечивали одинаковое поведение на всех платформах, а также те, которые не поддерживают HTTP/1.1 или используют CGI, что также заставляет сначала отправлять заголовки. (Но последнее было бы необычным для PHP.) – Phillip
WWW-сервер отправляет данные в ваш браузер по частям. Первая часть - это текст, обычно известный как HTTP Headers
. Они определяют тип, размер, язык, кодировку содержимого, сервер отправляет также некоторую информацию о себе. Куки также отправляются сюда, потому что это место для информации «за пределами площадки».
Сеансы несколько отличаются. Они серверные. Поэтому вам нужно объявить сеанс до того, как сервер начнет отображать контент и отправлять его в клиентский браузер. Еще одна причина этого заключается в том, что ваш идентификатор сеанса - это ... cookie! Так что да, сеанс не будет работать без файлов cookie.
Файлы cookie - это клиентские стороны (часть браузера), содержащие небольшие текстовые файлы. JavaScript - это сценарий на стороне клиента (браузера), который работает в вашем браузере. Таким образом, он не использует HTTP для связи со страницей веб-сайта, которую вы на самом деле смотрите. Нет необходимости использовать HTTP-заголовки и прочее. Если программа работает на вашем компьютере, гораздо проще и проще просто модифицировать эти файлы на компьютере, не так ли?
Вот почему JavaScript не использует заголовки HTTP для изменения файлов cookie. Он просто информирует ваш браузер о том, что он хочет изменить это и это, и браузер делает это.
Более подробная информация в Manual
«Файлы cookie - это небольшие текстовые файлы на стороне клиента (браузер)». - Нет. Браузер может * хранить * данные для файла cookie в небольшом текстовом файле, но это деталь реализации. Куки-файлы - это части данных, которые обмениваются между HTTP-серверами и клиентами. – Quentin
- 1. php сеансы и файлы cookie
- 2. сеансы codeigniter и файлы cookie
- 3. cURL - файлы cookie и сеансы
- 4. PHP неустановленные сеансы и файлы cookie
- 5. Почему мои сеансы Rails и файлы cookie не сохраняются?
- 6. Login system (PHP) Файлы cookie и сеансы
- 7. Куки-файлы и сеансы
- 8. запрашивает сеансы: действительно ли файлы cookie сохраняются?
- 9. cookie и сеансы в php
- 10. CodeIgniter: файлы cookie, сеансы, слишком много перенаправлений?
- 11. ли сеансы работают, когда файлы cookie отключены?
- 12. cookie и сеансы не сохраняются
- 13. Сессии и файлы cookie
- 14. Как работают сеансы и файлы cookie в Rails?
- 15. Как обрабатывать сеансы входа и файлы cookie для мобильного устройства
- 16. Как отключить сеансы, файлы cookie и автоматический вход в Yii2?
- 17. синхронизировать файлы cookie и сеансы в разных поддоменах (asp.net)
- 18. как сеансы и файлы cookie фактически управляются для разных браузеров?
- 19. PHP: Пользователь вошел в сеансы и файлы cookie
- 20. Использование запросов Python: сеансы, файлы cookie и POST
- 21. Публичная общая функция и файлы cookie или сеансы asp.net vb
- 22. Почему константы перечисления должны быть объявлены перед любым другим объявлением переменных и методов в типе перечисления?
- 23. Как использовать куки-файлы и сеансы django
- 24. Как сделать сеансы cookie?
- 25. Почему не сохранились файлы cookie?
- 26. Сессия, файлы cookie и идентификаторы
- 27. WebView iOS не сохраняет сеансы или файлы cookie
- 28. Сессии или файлы cookie?
- 29. HTML-формы и сеансы
- 30. Сессионные файлы cookie и HTML-формы
Вы должны прочитать введение в HTTP протокол, который используется для передачи HTML. – Phillip
Это требуется [HTTP] (http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol). Файлы cookie устанавливаются в заголовках, а заголовки ** MUST ** - перед содержимым тела. JS не использует HTTP для файлов cookie.Он уже запущен внутри браузера и может напрямую устанавливать/управлять файлами cookie. Сервер не запущен в браузере. он может устанавливать только файлы cookie через директивы 'Cookie' в заголовке своих ответов. –
@MarcB То, что * must * принадлежит только для HTTP/1.0. Кодирование с канальной передачей позволяет отправлять заголовки после тела файла. – Phillip