PHPackages                             ceive/net-hypertext - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. ceive/net-hypertext

ActiveLibrary[HTTP &amp; Networking](/categories/http)

ceive/net-hypertext
===================

hypertext (HTT)

041PHP

Since Aug 23Pushed 8y ago1 watchersCompare

[ Source](https://github.com/Ceive/net-hypertext)[ Packagist](https://packagist.org/packages/ceive/net-hypertext)[ RSS](/packages/ceive-net-hypertext/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Hyper Text
==========

[](#hyper-text)

###### Спецификация HTT

[](#спецификация-htt)

### Сводка

[](#сводка)

- Двух направленная реакция Заголовки-Контент
    - Заголовки влияют на формат контента
    - Контент влияет на заголовки (по умолчанию на `Content-Length`) > Если контент является производным`ContentInterface` то может влиять на любой спектр заголовков перед отображением
- Кодирование/Декодирование контента по заголовкам > Документ в строковом представлении, полностью закодирован в соответствии с заголовками.
- Чтение из разных источников (по умолчанию строка) > При чтении из потоков поддерживается `Transfer-Encoding: chunked`
- Запись в разные источники (по умолчанию строка)
- Обращаться к заголовкам следует по `Camelize` стилю.
- Инструменты для работы с заголовками
    - Нормализация ключей заголовков (`Camelize` стиль)
    - Разбор значения

        ```
          ['value' => null, 'params' => [], 'elements' => []]

        ```

### Рендеринг структуры в строку

[](#рендеринг-структуры-в-строку)

Процесс рендеринга: Документ в зависимости от заголовков кодируется. Если контент является производным от ContentInterface то внутри данного объекта может происходит изменение заголовков Документа до рендеринга.

### Результат рендеринга

[](#результат-рендеринга)

Контент Документа полностью должен соответствовать заголовкам, как и заголовки в зависимости от контента должны соответствовать требованиям типа контента по стандартам(если контента является ContentInterface).

### Парсинг(Синтаксический Анализ и Разбор)

[](#парсингсинтаксический-анализ-и-разбор)

При парсинге: Документа из строки, так-же в зависимости от заголовков, происходит декодирование содержания. После парсинга: Документ должен содержать уже декодированый, нормализованый контент соответствующий нативному представлению

### Возможности разных источников

[](#возможности-разных-источников)

Стоит упомянуть здесь что Документ может быть Считан/Записан с разных источников. Например \[из строки и в строку\] или \[из потока / в поток\]. При поточном считывании поддерживается приходящий заголовок Transfer-Encoding (не путать с Content-Transfer-Encoding) Если он равен chunked, то произойдет разбор частей(чанков/chunks) прямо из потока, Текст контента будет разобран из чанков и сформирован контент уже для дальнейшего разбора по заголовкам.

Примеры
-------

[](#примеры)

```
