Кодування в HTTP. Кодові таблиці в HTTP
Кодові таблиці в HTTP
Якщо ви хочете дізнатися все про протокол HTTP. зверніться до навігації по рубриці HTTP протокол. Кодові таблиці в HTTP використовуються для того, щоб перетворювати послідовність байт в послідовність символів, зрозумілих людині. Для таких маніпуляцій в HTTP може застосовуватися кілька кодових таблиць. Таким чином HTTP протокол підтримує різні види кодування: від простих, типу US-ASCII до складних, які мають на увазі перемикання, типу
ISO 2022. Приклад кодових таблиць:
Всі значення кодування вмісту (content-coding) не чутливі до регістру. HTTP версії 1.1 використовує значення кодування вмісту (content-coding) в полях заголовка AcceptEncoding і Content-Encoding. Хоча значення описує кодування вмісту, але, що більш важливо - воно вказує, який механізм декодування потрібно для зворотного процесу. gzip. Формат кодування, що виробляє стиснення файлу програмою «gzip» (GNU zip. Compress. Формат кодування, вироблений спільною програмою «compress» для стиснення UNIX файлів. Deflate. Формат zlib, в комбінації з механізмом стиснення «deflate», описаним в RFC 1951.
Кодування передачі в HTTP
Ще одним параметром HTTP протоколу є кодування передачі. Даний параметр впливає на спосіб кодування тіла об'єкта. Кодування передачі в HTTP відрізняється від кодування вмісту тим, що перше - це властивість HTTP повідомлення. а не вмісту.
Кодування по шматках (chunked encoding) закінчується шматком нульового розміру, наступним за завершителем, що закінчується символом нового рядка. Мета завершувача полягає в ефективному методі забезпечення інформації про об'єкт, який згенерований динамічно; HTTP додатки не повинні посилати в завершувач поля заголовка, які явно не призначені для використання в завершувач, такі як Content-MD5 або майбутні розширення HTTP для цифрових підписів та інших можливостей.
Всі HTTP / 1.1 додатка повинні бути в змозі отримувати і декодувати кодування передачі «по шматках» ( «chunked» transfer coding), і повинні ігнорувати розширення кодування передачі, які вони не розуміють. Сервера, який отримав тіло об'єкта зі значенням кодування передачі, яке він не розуміє, слід повернути відповідь з кодом стану 501 (Не реалізовано, Not Implemented, код помилки сервера) і розірвати HTTP з'єднання. Сервер не повинен посилати поля кодування передачі (transfer-coding) HTTP / 1.0 клієнтам. Це вимоги HTTP стандарту