41. • RFC 2910 Internet Printing Protocol/1.1:
Encoding and Transport
• http://tools.ietf.org/html/rfc2910
HTTP Stream IPP カプセル
HTTP Header Header
Attributes
…
HTTP Body Attribute End
Data
12年5月26日土曜日
42. -----------------------------------------------
| version-number | 2 bytes - required
-----------------------------------------------
| operation-id (request) |
| or | 2 bytes - required
| status-code (response) |
-----------------------------------------------
| request-id | 4 bytes - required
| • IPPのパケット構造
-----------------------------------------------------------
tag (delimiter-tag or value-tag) |
-----------------------------------------------
1 byte |
|-0 or more
| empty or rest of attribute | x bytes |
-----------------------------------------------------------
| end-of-attributes-tag | 1 byte - required
-----------------------------------------------
| data | y bytes - optional
-----------------------------------------------
12年5月26日土曜日
56. • transfer-encoding: chunked とは?
chunk HTTP Body IPP カプセル
size(改行) Header
Data Block
Attributes
Data Block
Data Block …
(改行) … Attribute End
chunk Data
…
(改行)
12年5月26日土曜日
68. プログラム構造
• Application Main
• ViewController
• Print データー表示
• Server Control
• Bonjour登録
• HTTP Server
• HTTP/1.1 Chunked Stream Control
• IPP Command Control
• Ipp Capsule Parser / Selealizer
• Printer Status Model
12年5月26日土曜日