Все записи сжаты с использованием алгоритма сжатия, определенным состоянием текущей сессии. Всегда имеется активный алгоритм сжатия; однако в исходный момент он определен как CompressionMethod.null. Алгоритм сжатия преобразует структуру TLSPlaintext в структуру TLSCompressed. Функции сжатия инициализируются информацией по умолчанию при переходе соединения в активное состояние.
Должно использоваться сжатие без потерь, а длина содержимого не может стать больше чем 1024 байт. Если функция восстановления встречает фрагмент TLSCompressed.fragment, длина которого окажется больше 214 байт, она должна выдать уведомление о фатальной ошибке преобразования.
| Struct | { ContentType type; | /* то же самое, что и TLSPlaintext.type */ | |
| ProtocolVersion version; | /* то же самое, что и TLSPlaintext.version */ | ||
| uint16 length; | |||
| opaque fragment[TLSCompressed.length]; | |||
| } TLSCompressed; | |||
| length | Длина (в байтах) следующего TLSCompressed.fragment. Длина не должна превосходить 214 + 1024. |
| Fragment | Сжатая форма TLSPlaintext.fragment. |
Операция CompressionMethod.null является идентификационной; ни одно из полей не изменено.
Функции декомпрессии (восстановления) отвечают за то, что внутренний буфер не будет переполнен при обработке сообщения.