/
613.txt
158 lines (113 loc) · 7.23 KB
/
613.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
* 仕様書
** IPP/1.0
[2] [CITE@en[RFC 2565 - Internet Printing Protocol/1.0: Encoding and Transport]]
([TIME[2015-03-08 18:30:30 +09:00]] 版)
<https://tools.ietf.org/html/rfc2565>
[3] [CITE@en[RFC 2566 - Internet Printing Protocol/1.0: Model and Semantics]]
([TIME[2015-02-08 17:43:40 +09:00]] 版)
<https://tools.ietf.org/html/rfc2566>
[4] [CITE@en[RFC 2567 - Design Goals for an Internet Printing Protocol]]
([TIME[2015-02-09 01:02:21 +09:00]] 版)
<https://tools.ietf.org/html/rfc2567>
[5] [CITE@en[RFC 2568 - Rationale for the Structure of the Model and Protocol for the Internet Printing Protocol]]
([TIME[2014-12-14 19:27:22 +09:00]] 版)
<https://tools.ietf.org/html/rfc2568>
[6] [CITE@en[RFC 2569 - Mapping between LPD and IPP Protocols]]
([TIME[2014-12-21 19:03:22 +09:00]] 版)
<https://tools.ietf.org/html/rfc2569>
** IPP/1.1
[7] [CITE@en[RFC 2910 - Internet Printing Protocol/1.1: Encoding and Transport]]
([TIME[2015-02-15 15:24:06 +09:00]] 版)
<https://tools.ietf.org/html/rfc2910>
[8] [CITE[RFC Errata Report]]
([TIME[2015-03-15 23:26:39 +09:00]] 版)
<http://www.rfc-editor.org/errata_search.php?rfc=2910>
[9] [CITE@en[RFC 2911 - Internet Printing Protocol/1.1: Model and Semantics]]
([TIME[2015-02-15 17:22:27 +09:00]] 版)
<https://tools.ietf.org/html/rfc2911>
[10] [CITE[RFC Errata Report]]
([TIME[2015-03-15 23:26:57 +09:00]] 版)
<http://www.rfc-editor.org/errata_search.php?rfc=2911>
[11] [CITE@en[RFC 3380 - Internet Printing Protocol (IPP): Job and Printer Set Operations]]
([TIME[2015-03-15 22:04:58 +09:00]] 版)
<https://tools.ietf.org/html/rfc3380>
[12] [CITE@en[RFC 3381 - Internet Printing Protocol (IPP): Job Progress Attributes]]
([TIME[2015-02-01 20:00:05 +09:00]] 版)
<https://tools.ietf.org/html/rfc3381>
[13] [CITE[RFC Errata Report]]
([TIME[2015-03-15 23:32:54 +09:00]] 版)
<http://www.rfc-editor.org/errata_search.php?rfc=3381>
[14] [CITE@en[RFC 3382 - Internet Printing Protocol (IPP): The 'collection' attribute syntax]]
([TIME[2014-12-29 01:17:02 +09:00]] 版)
<https://tools.ietf.org/html/rfc3382>
[15] [CITE[RFC Errata Report]]
([TIME[2015-03-15 23:34:03 +09:00]] 版)
<http://www.rfc-editor.org/errata_search.php?rfc=3382>
[16] [CITE@en[RFC 3510 - Internet Printing Protocol/1.1: IPP URL Scheme]]
([TIME[2014-12-21 20:19:26 +09:00]] 版)
<https://tools.ietf.org/html/rfc3510>
[17] [CITE@en[RFC 3995 - Internet Printing Protocol (IPP): Event Notifications and Subscriptions]]
([TIME[2015-02-01 15:23:36 +09:00]] 版)
<https://tools.ietf.org/html/rfc3995>
[18] [CITE@en[RFC 7472 - Internet Printing Protocol (IPP) over HTTPS Transport Binding and the 'ipps' URI Scheme]]
([TIME[2015-03-04 12:23:14 +09:00]] 版)
<https://tools.ietf.org/html/rfc7472>
** IPP/2.0, IPP/2.1, IPP/2.2
[31] [CITE[Internet Printing Protocol Version 2.0 4 Second Edition (IPP/2.0 SE)]] ([TIME[2011-03-15 05:29:39 +09:00]] 版) <http://ftp.pwg.org/pub/pwg/candidates/cs-ipp20-20110214-5100.12.pdf>
[32] [CITE[IPP Everywhere]] ([TIME[2013-01-29 04:53:11 +09:00]] 版) <http://ftp.pwg.org/pub/pwg/candidates/cs-ippeve10-20130128-5100.14.pdf>
他関連仕様がいくつか。 >>30 参照。
[30] [CITE@en[Internet Printing Protocol - Printer Working Group]]
([TIME[2015-03-16 11:34:36 +09:00]] 版)
<https://www.pwg.org/ipp/>
* ポート
[19] [[IPP/1.0]] 時代から [CODE[[[631]]]] が“既定”の[[ポート番号]]として規定されていましたが [SRC[>>2]]、専用の
[[URL scheme]] はなく [CODE(URI)@en[[[http:]]]] [[URL]] を使っていたので、 [[URL]]
における[[既定のポート番号]]は [CODE[[[80]]]] のままでした。
[21] [[IPP/1.1]] では [CODE(URI)@en[[[ipp:]]]] [[URL scheme]]
が規定されており、その[[既定のポート番号]]は [CODE[[[631]]]] とされています [SRC[>>7, >>16]]。
[38] [[IESG]] の指示により [[IPP]] over [[TLS]] = [CODE(URI)@en[[[ipps:]]]]
も同じく [CODE[[[631]]]] を[[既定のポート番号]]として使います [SRC[>>18]]。
* TLS
[20] [[IPP/1.0]] は [[SSL/3.0]] と併用する場合についての記述があり、
[[HTTPS]] 上で [[IPP/1.0]] を使うことになっていました [SRC[>>2]]。
[22] [[IPP/1.1]] は [[TLS]] に対応することを[['''推奨''']]しています [SRC[>>7]]。
[[TLS]] [[クライアント認証]]や [[TLS]] 上の [[HTTP]] [[基本認証]]に対応することも認めています
[SRC[>>7, >>9]]。
[23] [[TLS]] [[cipher suite]] としては [CODE[[[TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA]]]]
に対応することを[['''必須''']]とし、それ以外は[[任意選択]]としています [SRC[>>7]]。
[24] 加えて、 [[TLS/1.0]] との互換性のために [[TLS/1.1]] の実装が [[SSL/3.0]]
に対応することも認めています [SRC[>>7]]。
[25] [[IPP/1.1]] は一般的な [[HTTPS]] ではなく、 [[IETF]] [[提案標準]]である
[[RFC 2817]] [CODE(HTTP)@en[[[Upgrade:]] [[TLS]]]] 方式による[[平文]]から [[TLS]]
への切り替えを使うとされています [SRC[>>7]]。
;; [26] この方式は [[IPP]] 以外では採用されていないものです。
[33] 2015年になって出版された [[IPP]] over [[HTTPS]] [SRC[>>18]]
は、この [CODE(HTTP)@en[[[Upgrade:]]]] 方式の問題点を次のように指摘しています。
[FIG(list)[
- [34] [[RFC 2817]] 自体の問題では無いとはいえ、おかしな挙動の実装がある
- [35] すべての [[HTTP接続]]の最初で [CODE(HTTP)@en[[[Upgrade:]]]] せずに、
特定の [[IPP]] 操作の前にしか [CODE(HTTP)@en[[[Upgrade:]]]]
しない実装がある
- [36] [[鯖]]が [CODE(HTTP)@en[[[Upgrade:]]]] を求めるより前に[[クライアント]]が[[平文]]でデータを送れてしまう
]FIG]
[27] [[IPP/1.1]] における [[HTTPS]] の扱いは明確ではありませんでした。
[[URL scheme]] としての [CODE(URI)@en[[[https:]]]] には互換性のためだけに対応するとの記載はありますが、
実際の対応方法の規定はありません。 [[SSL/3.0]] への対応は認められていますが、
実際の利用方法の規定がありません。
[37] [[RFC 7472]] [[IPP]] over [[HTTPS]] は、 [[IPP/1.0]] 時代の方式に戻り、
[[HTTPS]] 上で [[IPP]] を使うというものです。ただし新たに
[CODE(URI)@[[[ipps:]]]] [[URL scheme]] を導入しています。
* URL scheme
[28] [CODE(URI)@en[[[ipp:]]]] [[URL]] は[[絶対URL]]でのみ使うことができ、
[[相対URL]]では使えません [SRC[>>16]]。 [CODE(URI)@en[[[ipps:]]]] [[URL]]
も[[絶対URL]]でのみ使えます [SRC[>>18]]。
;; [29] [[相対URL]]は [[URL scheme]] に関わらず定義されているので、
そんな制限が付けられるのか謎ですが... ([[IPP]] プロトコル内では[[相対URL]]
を使ってはならない、という制約なら理解できますが...)
* 歴史
[1] [CITE@en[draft-mcdonald-ipps-uri-scheme-02 - IPP over HTTPS Transport Binding and \x27ipps\x27 URI Scheme]]
( ([TIME[2011-06-05 13:39:57 +09:00]] 版))
<http://tools.ietf.org/html/draft-mcdonald-ipps-uri-scheme-02>
[39] [CITE@en[RFC 7612 - Lightweight Directory Access Protocol (LDAP): Schema for Printer Services]]
([TIME[2015-07-01 10:20:12 +09:00]] 版)
<https://tools.ietf.org/html/rfc7612>