Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.216.207.192
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
apache /
manual /
mod /
[ HOME SHELL ]
Name
Size
Permission
Action
core.html
535
B
-rw-r--r--
core.html.de
238.47
KB
-rw-r--r--
core.html.en
293.44
KB
-rw-r--r--
core.html.es
262.51
KB
-rw-r--r--
core.html.fr.utf8
324.56
KB
-rw-r--r--
core.html.ja.utf8
254.26
KB
-rw-r--r--
core.html.tr.utf8
313.84
KB
-rw-r--r--
directive-dict.html
598
B
-rw-r--r--
directive-dict.html.en
17.79
KB
-rw-r--r--
directive-dict.html.es
19.47
KB
-rw-r--r--
directive-dict.html.fr.utf8
19.11
KB
-rw-r--r--
directive-dict.html.ja.utf8
20.06
KB
-rw-r--r--
directive-dict.html.ko.euc-kr
15.65
KB
-rw-r--r--
directive-dict.html.tr.utf8
19.11
KB
-rw-r--r--
directives.html
760
B
-rw-r--r--
directives.html.de
57.67
KB
-rw-r--r--
directives.html.en
57.54
KB
-rw-r--r--
directives.html.es
57.83
KB
-rw-r--r--
directives.html.fr.utf8
57.65
KB
-rw-r--r--
directives.html.ja.utf8
57.74
KB
-rw-r--r--
directives.html.ko.euc-kr
57.39
KB
-rw-r--r--
directives.html.tr.utf8
57.57
KB
-rw-r--r--
directives.html.zh-cn.utf8
57.41
KB
-rw-r--r--
event.html
201
B
-rw-r--r--
event.html.en
28.84
KB
-rw-r--r--
event.html.fr.utf8
31.36
KB
-rw-r--r--
index.html
720
B
-rw-r--r--
index.html.de
23.21
KB
-rw-r--r--
index.html.en
22.93
KB
-rw-r--r--
index.html.es
23.49
KB
-rw-r--r--
index.html.fr.utf8
25.14
KB
-rw-r--r--
index.html.ja.utf8
24.2
KB
-rw-r--r--
index.html.ko.euc-kr
22.37
KB
-rw-r--r--
index.html.tr.utf8
23.2
KB
-rw-r--r--
index.html.zh-cn.utf8
22.81
KB
-rw-r--r--
mod_access_compat.html
322
B
-rw-r--r--
mod_access_compat.html.en
28.41
KB
-rw-r--r--
mod_access_compat.html.fr.utf8
31.22
KB
-rw-r--r--
mod_access_compat.html.ja.utf8
30.51
KB
-rw-r--r--
mod_actions.html
489
B
-rw-r--r--
mod_actions.html.de
13.78
KB
-rw-r--r--
mod_actions.html.en
12.72
KB
-rw-r--r--
mod_actions.html.fr.utf8
13.32
KB
-rw-r--r--
mod_actions.html.ja.utf8
14.43
KB
-rw-r--r--
mod_actions.html.ko.euc-kr
12.37
KB
-rw-r--r--
mod_alias.html
479
B
-rw-r--r--
mod_alias.html.en
36.82
KB
-rw-r--r--
mod_alias.html.fr.utf8
40.04
KB
-rw-r--r--
mod_alias.html.ja.utf8
28.55
KB
-rw-r--r--
mod_alias.html.ko.euc-kr
22.95
KB
-rw-r--r--
mod_alias.html.tr.utf8
39.33
KB
-rw-r--r--
mod_allowmethods.html
223
B
-rw-r--r--
mod_allowmethods.html.en
8.09
KB
-rw-r--r--
mod_allowmethods.html.fr.utf8
8.4
KB
-rw-r--r--
mod_asis.html
386
B
-rw-r--r--
mod_asis.html.en
8.9
KB
-rw-r--r--
mod_asis.html.fr.utf8
9.18
KB
-rw-r--r--
mod_asis.html.ja.utf8
9.74
KB
-rw-r--r--
mod_asis.html.ko.euc-kr
8.47
KB
-rw-r--r--
mod_auth_basic.html
410
B
-rw-r--r--
mod_auth_basic.html.en
19.57
KB
-rw-r--r--
mod_auth_basic.html.fr.utf8
21.6
KB
-rw-r--r--
mod_auth_basic.html.ja.utf8
16.32
KB
-rw-r--r--
mod_auth_basic.html.ko.euc-kr
13.84
KB
-rw-r--r--
mod_auth_digest.html
319
B
-rw-r--r--
mod_auth_digest.html.en
20.11
KB
-rw-r--r--
mod_auth_digest.html.fr.utf8
21.9
KB
-rw-r--r--
mod_auth_digest.html.ko.euc-kr
20.41
KB
-rw-r--r--
mod_auth_form.html
217
B
-rw-r--r--
mod_auth_form.html.en
50.41
KB
-rw-r--r--
mod_auth_form.html.fr.utf8
54.73
KB
-rw-r--r--
mod_authn_anon.html
410
B
-rw-r--r--
mod_authn_anon.html.en
16.5
KB
-rw-r--r--
mod_authn_anon.html.fr.utf8
17.97
KB
-rw-r--r--
mod_authn_anon.html.ja.utf8
18.47
KB
-rw-r--r--
mod_authn_anon.html.ko.euc-kr
16.05
KB
-rw-r--r--
mod_authn_core.html
219
B
-rw-r--r--
mod_authn_core.html.en
16.42
KB
-rw-r--r--
mod_authn_core.html.fr.utf8
17.58
KB
-rw-r--r--
mod_authn_dbd.html
217
B
-rw-r--r--
mod_authn_dbd.html.en
15.09
KB
-rw-r--r--
mod_authn_dbd.html.fr.utf8
16.31
KB
-rw-r--r--
mod_authn_dbm.html
406
B
-rw-r--r--
mod_authn_dbm.html.en
12.69
KB
-rw-r--r--
mod_authn_dbm.html.fr.utf8
13.59
KB
-rw-r--r--
mod_authn_dbm.html.ja.utf8
13.07
KB
-rw-r--r--
mod_authn_dbm.html.ko.euc-kr
11.09
KB
-rw-r--r--
mod_authn_file.html
410
B
-rw-r--r--
mod_authn_file.html.en
11.42
KB
-rw-r--r--
mod_authn_file.html.fr.utf8
12.21
KB
-rw-r--r--
mod_authn_file.html.ja.utf8
12.44
KB
-rw-r--r--
mod_authn_file.html.ko.euc-kr
10.54
KB
-rw-r--r--
mod_authn_socache.html
225
B
-rw-r--r--
mod_authn_socache.html.en
18.82
KB
-rw-r--r--
mod_authn_socache.html.fr.utf8
20.67
KB
-rw-r--r--
mod_authnz_fcgi.html
221
B
-rw-r--r--
mod_authnz_fcgi.html.en
26.98
KB
-rw-r--r--
mod_authnz_fcgi.html.fr.utf8
29.33
KB
-rw-r--r--
mod_authnz_ldap.html
221
B
-rw-r--r--
mod_authnz_ldap.html.en
84.3
KB
-rw-r--r--
mod_authnz_ldap.html.fr.utf8
86.91
KB
-rw-r--r--
mod_authz_core.html
219
B
-rw-r--r--
mod_authz_core.html.en
37.04
KB
-rw-r--r--
mod_authz_core.html.fr.utf8
40.05
KB
-rw-r--r--
mod_authz_dbd.html
217
B
-rw-r--r--
mod_authz_dbd.html.en
18.2
KB
-rw-r--r--
mod_authz_dbd.html.fr.utf8
19.98
KB
-rw-r--r--
mod_authz_dbm.html
313
B
-rw-r--r--
mod_authz_dbm.html.en
12.86
KB
-rw-r--r--
mod_authz_dbm.html.fr.utf8
13.75
KB
-rw-r--r--
mod_authz_dbm.html.ko.euc-kr
10.39
KB
-rw-r--r--
mod_authz_groupfile.html
430
B
-rw-r--r--
mod_authz_groupfile.html.en
10.4
KB
-rw-r--r--
mod_authz_groupfile.html.fr.ut...
10.93
KB
-rw-r--r--
mod_authz_groupfile.html.ja.ut...
9.9
KB
-rw-r--r--
mod_authz_groupfile.html.ko.eu...
8.8
KB
-rw-r--r--
mod_authz_host.html
219
B
-rw-r--r--
mod_authz_host.html.en
13.39
KB
-rw-r--r--
mod_authz_host.html.fr.utf8
14.35
KB
-rw-r--r--
mod_authz_owner.html
414
B
-rw-r--r--
mod_authz_owner.html.en
11.29
KB
-rw-r--r--
mod_authz_owner.html.fr.utf8
11.92
KB
-rw-r--r--
mod_authz_owner.html.ja.utf8
12.93
KB
-rw-r--r--
mod_authz_owner.html.ko.euc-kr
11.1
KB
-rw-r--r--
mod_authz_user.html
410
B
-rw-r--r--
mod_authz_user.html.en
8.11
KB
-rw-r--r--
mod_authz_user.html.fr.utf8
8.37
KB
-rw-r--r--
mod_authz_user.html.ja.utf8
7.39
KB
-rw-r--r--
mod_authz_user.html.ko.euc-kr
6.85
KB
-rw-r--r--
mod_autoindex.html
499
B
-rw-r--r--
mod_autoindex.html.en
60.78
KB
-rw-r--r--
mod_autoindex.html.fr.utf8
67.28
KB
-rw-r--r--
mod_autoindex.html.ja.utf8
64.92
KB
-rw-r--r--
mod_autoindex.html.ko.euc-kr
50.19
KB
-rw-r--r--
mod_autoindex.html.tr.utf8
66.14
KB
-rw-r--r--
mod_brotli.html
211
B
-rw-r--r--
mod_brotli.html.en
21.14
KB
-rw-r--r--
mod_brotli.html.fr.utf8
22.5
KB
-rw-r--r--
mod_buffer.html
211
B
-rw-r--r--
mod_buffer.html.en
9.06
KB
-rw-r--r--
mod_buffer.html.fr.utf8
9.57
KB
-rw-r--r--
mod_cache.html
390
B
-rw-r--r--
mod_cache.html.en
68.08
KB
-rw-r--r--
mod_cache.html.fr.utf8
74.14
KB
-rw-r--r--
mod_cache.html.ja.utf8
52.35
KB
-rw-r--r--
mod_cache.html.ko.euc-kr
38.51
KB
-rw-r--r--
mod_cache_disk.html
410
B
-rw-r--r--
mod_cache_disk.html.en
20.1
KB
-rw-r--r--
mod_cache_disk.html.fr.utf8
21.26
KB
-rw-r--r--
mod_cache_disk.html.ja.utf8
18.36
KB
-rw-r--r--
mod_cache_disk.html.ko.euc-kr
15.72
KB
-rw-r--r--
mod_cache_socache.html
225
B
-rw-r--r--
mod_cache_socache.html.en
18.28
KB
-rw-r--r--
mod_cache_socache.html.fr.utf8
19.06
KB
-rw-r--r--
mod_cern_meta.html
313
B
-rw-r--r--
mod_cern_meta.html.en
11
KB
-rw-r--r--
mod_cern_meta.html.fr.utf8
11.56
KB
-rw-r--r--
mod_cern_meta.html.ko.euc-kr
10.54
KB
-rw-r--r--
mod_cgi.html
382
B
-rw-r--r--
mod_cgi.html.en
18.42
KB
-rw-r--r--
mod_cgi.html.fr.utf8
20.06
KB
-rw-r--r--
mod_cgi.html.ja.utf8
19.72
KB
-rw-r--r--
mod_cgi.html.ko.euc-kr
16.31
KB
-rw-r--r--
mod_cgid.html
386
B
-rw-r--r--
mod_cgid.html.en
11.56
KB
-rw-r--r--
mod_cgid.html.fr.utf8
12.15
KB
-rw-r--r--
mod_cgid.html.ja.utf8
12.2
KB
-rw-r--r--
mod_cgid.html.ko.euc-kr
10.7
KB
-rw-r--r--
mod_charset_lite.html
322
B
-rw-r--r--
mod_charset_lite.html.en
15.35
KB
-rw-r--r--
mod_charset_lite.html.fr.utf8
16.54
KB
-rw-r--r--
mod_charset_lite.html.ko.euc-k...
14.28
KB
-rw-r--r--
mod_data.html
207
B
-rw-r--r--
mod_data.html.en
7.49
KB
-rw-r--r--
mod_data.html.fr.utf8
7.68
KB
-rw-r--r--
mod_dav.html
382
B
-rw-r--r--
mod_dav.html.en
17.91
KB
-rw-r--r--
mod_dav.html.fr.utf8
19.45
KB
-rw-r--r--
mod_dav.html.ja.utf8
20.66
KB
-rw-r--r--
mod_dav.html.ko.euc-kr
17.71
KB
-rw-r--r--
mod_dav_fs.html
394
B
-rw-r--r--
mod_dav_fs.html.en
10.75
KB
-rw-r--r--
mod_dav_fs.html.fr.utf8
11.4
KB
-rw-r--r--
mod_dav_fs.html.ja.utf8
10.6
KB
-rw-r--r--
mod_dav_fs.html.ko.euc-kr
10.17
KB
-rw-r--r--
mod_dav_lock.html
307
B
-rw-r--r--
mod_dav_lock.html.en
9.76
KB
-rw-r--r--
mod_dav_lock.html.fr.utf8
10.32
KB
-rw-r--r--
mod_dav_lock.html.ja.utf8
10.51
KB
-rw-r--r--
mod_dbd.html
205
B
-rw-r--r--
mod_dbd.html.en
24.71
KB
-rw-r--r--
mod_dbd.html.fr.utf8
26.94
KB
-rw-r--r--
mod_deflate.html
398
B
-rw-r--r--
mod_deflate.html.en
28.35
KB
-rw-r--r--
mod_deflate.html.fr.utf8
30.4
KB
-rw-r--r--
mod_deflate.html.ja.utf8
31.06
KB
-rw-r--r--
mod_deflate.html.ko.euc-kr
26.17
KB
-rw-r--r--
mod_dialup.html
211
B
-rw-r--r--
mod_dialup.html.en
7.49
KB
-rw-r--r--
mod_dialup.html.fr.utf8
7.81
KB
-rw-r--r--
mod_dir.html
469
B
-rw-r--r--
mod_dir.html.en
22.39
KB
-rw-r--r--
mod_dir.html.fr.utf8
24.43
KB
-rw-r--r--
mod_dir.html.ja.utf8
19.66
KB
-rw-r--r--
mod_dir.html.ko.euc-kr
16.53
KB
-rw-r--r--
mod_dir.html.tr.utf8
23.66
KB
-rw-r--r--
mod_dumpio.html
301
B
-rw-r--r--
mod_dumpio.html.en
9.62
KB
-rw-r--r--
mod_dumpio.html.fr.utf8
9.99
KB
-rw-r--r--
mod_dumpio.html.ja.utf8
10.32
KB
-rw-r--r--
mod_echo.html
386
B
-rw-r--r--
mod_echo.html.en
7.44
KB
-rw-r--r--
mod_echo.html.fr.utf8
7.58
KB
-rw-r--r--
mod_echo.html.ja.utf8
7.88
KB
-rw-r--r--
mod_echo.html.ko.euc-kr
7.55
KB
-rw-r--r--
mod_env.html
469
B
-rw-r--r--
mod_env.html.en
11.6
KB
-rw-r--r--
mod_env.html.fr.utf8
12.08
KB
-rw-r--r--
mod_env.html.ja.utf8
11.07
KB
-rw-r--r--
mod_env.html.ko.euc-kr
9.9
KB
-rw-r--r--
mod_env.html.tr.utf8
11.72
KB
-rw-r--r--
mod_example_hooks.html
325
B
-rw-r--r--
mod_example_hooks.html.en
11.2
KB
-rw-r--r--
mod_example_hooks.html.fr.utf8
11.9
KB
-rw-r--r--
mod_example_hooks.html.ko.euc-...
10.76
KB
-rw-r--r--
mod_expires.html
398
B
-rw-r--r--
mod_expires.html.en
16.71
KB
-rw-r--r--
mod_expires.html.fr.utf8
17.81
KB
-rw-r--r--
mod_expires.html.ja.utf8
18.29
KB
-rw-r--r--
mod_expires.html.ko.euc-kr
15.08
KB
-rw-r--r--
mod_ext_filter.html
410
B
-rw-r--r--
mod_ext_filter.html.en
18.22
KB
-rw-r--r--
mod_ext_filter.html.fr.utf8
19.71
KB
-rw-r--r--
mod_ext_filter.html.ja.utf8
22.86
KB
-rw-r--r--
mod_ext_filter.html.ko.euc-kr
18.94
KB
-rw-r--r--
mod_file_cache.html
316
B
-rw-r--r--
mod_file_cache.html.en
15.4
KB
-rw-r--r--
mod_file_cache.html.fr.utf8
17.64
KB
-rw-r--r--
mod_file_cache.html.ko.euc-kr
14.45
KB
-rw-r--r--
mod_filter.html
211
B
-rw-r--r--
mod_filter.html.en
31.22
KB
-rw-r--r--
mod_filter.html.fr.utf8
34.81
KB
-rw-r--r--
mod_headers.html
398
B
-rw-r--r--
mod_headers.html.en
33.85
KB
-rw-r--r--
mod_headers.html.fr.utf8
37.21
KB
-rw-r--r--
mod_headers.html.ja.utf8
25.01
KB
-rw-r--r--
mod_headers.html.ko.euc-kr
19.54
KB
-rw-r--r--
mod_heartbeat.html
217
B
-rw-r--r--
mod_heartbeat.html.en
9.55
KB
-rw-r--r--
mod_heartbeat.html.fr.utf8
9.8
KB
-rw-r--r--
mod_heartmonitor.html
223
B
-rw-r--r--
mod_heartmonitor.html.en
12.12
KB
-rw-r--r--
mod_heartmonitor.html.fr.utf8
12.65
KB
-rw-r--r--
mod_http2.html
209
B
-rw-r--r--
mod_http2.html.en
62.64
KB
-rw-r--r--
mod_http2.html.fr.utf8
66.38
KB
-rw-r--r--
mod_ident.html
390
B
-rw-r--r--
mod_ident.html.en
9.94
KB
-rw-r--r--
mod_ident.html.fr.utf8
10.45
KB
-rw-r--r--
mod_ident.html.ja.utf8
10.88
KB
-rw-r--r--
mod_ident.html.ko.euc-kr
9.47
KB
-rw-r--r--
mod_imagemap.html
310
B
-rw-r--r--
mod_imagemap.html.en
21.22
KB
-rw-r--r--
mod_imagemap.html.fr.utf8
23.4
KB
-rw-r--r--
mod_imagemap.html.ko.euc-kr
19.77
KB
-rw-r--r--
mod_include.html
304
B
-rw-r--r--
mod_include.html.en
59.85
KB
-rw-r--r--
mod_include.html.fr.utf8
65.42
KB
-rw-r--r--
mod_include.html.ja.utf8
55.34
KB
-rw-r--r--
mod_info.html
386
B
-rw-r--r--
mod_info.html.en
14.6
KB
-rw-r--r--
mod_info.html.fr.utf8
15.53
KB
-rw-r--r--
mod_info.html.ja.utf8
15.12
KB
-rw-r--r--
mod_info.html.ko.euc-kr
12.6
KB
-rw-r--r--
mod_isapi.html
301
B
-rw-r--r--
mod_isapi.html.en
23.44
KB
-rw-r--r--
mod_isapi.html.fr.utf8
25.48
KB
-rw-r--r--
mod_isapi.html.ko.euc-kr
21.62
KB
-rw-r--r--
mod_lbmethod_bybusyness.html
237
B
-rw-r--r--
mod_lbmethod_bybusyness.html.e...
7.85
KB
-rw-r--r--
mod_lbmethod_bybusyness.html.f...
8.25
KB
-rw-r--r--
mod_lbmethod_byrequests.html
237
B
-rw-r--r--
mod_lbmethod_byrequests.html.e...
12.55
KB
-rw-r--r--
mod_lbmethod_byrequests.html.f...
13.08
KB
-rw-r--r--
mod_lbmethod_bytraffic.html
235
B
-rw-r--r--
mod_lbmethod_bytraffic.html.en
8.2
KB
-rw-r--r--
mod_lbmethod_bytraffic.html.fr...
8.6
KB
-rw-r--r--
mod_lbmethod_heartbeat.html
235
B
-rw-r--r--
mod_lbmethod_heartbeat.html.en
8.29
KB
-rw-r--r--
mod_lbmethod_heartbeat.html.fr...
8.65
KB
-rw-r--r--
mod_ldap.html
207
B
-rw-r--r--
mod_ldap.html.en
52.54
KB
-rw-r--r--
mod_ldap.html.fr.utf8
57.83
KB
-rw-r--r--
mod_log_config.html
504
B
-rw-r--r--
mod_log_config.html.en
35.48
KB
-rw-r--r--
mod_log_config.html.fr.utf8
37.95
KB
-rw-r--r--
mod_log_config.html.ja.utf8
33.81
KB
-rw-r--r--
mod_log_config.html.ko.euc-kr
25.54
KB
-rw-r--r--
mod_log_config.html.tr.utf8
37.34
KB
-rw-r--r--
mod_log_debug.html
217
B
-rw-r--r--
mod_log_debug.html.en
10.17
KB
-rw-r--r--
mod_log_debug.html.fr.utf8
10.76
KB
-rw-r--r--
mod_log_forensic.html
415
B
-rw-r--r--
mod_log_forensic.html.en
12.76
KB
-rw-r--r--
mod_log_forensic.html.fr.utf8
14.38
KB
-rw-r--r--
mod_log_forensic.html.ja.utf8
14.2
KB
-rw-r--r--
mod_log_forensic.html.tr.utf8
13.26
KB
-rw-r--r--
mod_logio.html
479
B
-rw-r--r--
mod_logio.html.en
10.38
KB
-rw-r--r--
mod_logio.html.fr.utf8
11.02
KB
-rw-r--r--
mod_logio.html.ja.utf8
10.25
KB
-rw-r--r--
mod_logio.html.ko.euc-kr
9.23
KB
-rw-r--r--
mod_logio.html.tr.utf8
10.61
KB
-rw-r--r--
mod_lua.html
205
B
-rw-r--r--
mod_lua.html.en
91.74
KB
-rw-r--r--
mod_lua.html.fr.utf8
101.5
KB
-rw-r--r--
mod_macro.html
209
B
-rw-r--r--
mod_macro.html.en
15.14
KB
-rw-r--r--
mod_macro.html.fr.utf8
16.11
KB
-rw-r--r--
mod_md.html
203
B
-rw-r--r--
mod_md.html.en
95.75
KB
-rw-r--r--
mod_md.html.fr.utf8
103.21
KB
-rw-r--r--
mod_mime.html
295
B
-rw-r--r--
mod_mime.html.en
64.63
KB
-rw-r--r--
mod_mime.html.fr.utf8
70.52
KB
-rw-r--r--
mod_mime.html.ja.utf8
70.58
KB
-rw-r--r--
mod_mime_magic.html
219
B
-rw-r--r--
mod_mime_magic.html.en
16.67
KB
-rw-r--r--
mod_mime_magic.html.fr.utf8
17.74
KB
-rw-r--r--
mod_negotiation.html
316
B
-rw-r--r--
mod_negotiation.html.en
21.36
KB
-rw-r--r--
mod_negotiation.html.fr.utf8
23.09
KB
-rw-r--r--
mod_negotiation.html.ja.utf8
22.53
KB
-rw-r--r--
mod_nw_ssl.html
211
B
-rw-r--r--
mod_nw_ssl.html.en
9.5
KB
-rw-r--r--
mod_nw_ssl.html.fr.utf8
9.8
KB
-rw-r--r--
mod_privileges.html
219
B
-rw-r--r--
mod_privileges.html.en
29.36
KB
-rw-r--r--
mod_privileges.html.fr.utf8
32.73
KB
-rw-r--r--
mod_proxy.html
298
B
-rw-r--r--
mod_proxy.html.en
130.78
KB
-rw-r--r--
mod_proxy.html.fr.utf8
147.41
KB
-rw-r--r--
mod_proxy.html.ja.utf8
92.16
KB
-rw-r--r--
mod_proxy_ajp.html
310
B
-rw-r--r--
mod_proxy_ajp.html.en
32.1
KB
-rw-r--r--
mod_proxy_ajp.html.fr.utf8
35.22
KB
-rw-r--r--
mod_proxy_ajp.html.ja.utf8
32.25
KB
-rw-r--r--
mod_proxy_balancer.html
325
B
-rw-r--r--
mod_proxy_balancer.html.en
22.97
KB
-rw-r--r--
mod_proxy_balancer.html.fr.utf...
25.71
KB
-rw-r--r--
mod_proxy_balancer.html.ja.utf...
18.82
KB
-rw-r--r--
mod_proxy_connect.html
322
B
-rw-r--r--
mod_proxy_connect.html.en
10.05
KB
-rw-r--r--
mod_proxy_connect.html.fr.utf8
10.56
KB
-rw-r--r--
mod_proxy_connect.html.ja.utf8
9.2
KB
-rw-r--r--
mod_proxy_express.html
225
B
-rw-r--r--
mod_proxy_express.html.en
13.41
KB
-rw-r--r--
mod_proxy_express.html.fr.utf8
14.08
KB
-rw-r--r--
mod_proxy_fcgi.html
219
B
-rw-r--r--
mod_proxy_fcgi.html.en
22.3
KB
-rw-r--r--
mod_proxy_fcgi.html.fr.utf8
24.51
KB
-rw-r--r--
mod_proxy_fdpass.html
223
B
-rw-r--r--
mod_proxy_fdpass.html.en
7.49
KB
-rw-r--r--
mod_proxy_fdpass.html.fr.utf8
7.72
KB
-rw-r--r--
mod_proxy_ftp.html
217
B
-rw-r--r--
mod_proxy_ftp.html.en
18.35
KB
-rw-r--r--
mod_proxy_ftp.html.fr.utf8
20.33
KB
-rw-r--r--
mod_proxy_hcheck.html
223
B
-rw-r--r--
mod_proxy_hcheck.html.en
17.56
KB
-rw-r--r--
mod_proxy_hcheck.html.fr.utf8
18.75
KB
-rw-r--r--
mod_proxy_html.html
219
B
-rw-r--r--
mod_proxy_html.html.en
33.61
KB
-rw-r--r--
mod_proxy_html.html.fr.utf8
38.34
KB
-rw-r--r--
mod_proxy_http.html
219
B
-rw-r--r--
mod_proxy_http.html.en
11.82
KB
-rw-r--r--
mod_proxy_http.html.fr.utf8
12.7
KB
-rw-r--r--
mod_proxy_http2.html
221
B
-rw-r--r--
mod_proxy_http2.html.en
10.25
KB
-rw-r--r--
mod_proxy_http2.html.fr.utf8
10.81
KB
-rw-r--r--
mod_proxy_scgi.html
219
B
-rw-r--r--
mod_proxy_scgi.html.en
14.63
KB
-rw-r--r--
mod_proxy_scgi.html.fr.utf8
15.59
KB
-rw-r--r--
mod_proxy_uwsgi.html
221
B
-rw-r--r--
mod_proxy_uwsgi.html.en
8.4
KB
-rw-r--r--
mod_proxy_uwsgi.html.fr.utf8
8.7
KB
-rw-r--r--
mod_proxy_wstunnel.html
227
B
-rw-r--r--
mod_proxy_wstunnel.html.en
11.01
KB
-rw-r--r--
mod_proxy_wstunnel.html.fr.utf...
11.62
KB
-rw-r--r--
mod_ratelimit.html
217
B
-rw-r--r--
mod_ratelimit.html.en
7.05
KB
-rw-r--r--
mod_ratelimit.html.fr.utf8
7.38
KB
-rw-r--r--
mod_reflector.html
217
B
-rw-r--r--
mod_reflector.html.en
8.53
KB
-rw-r--r--
mod_reflector.html.fr.utf8
8.87
KB
-rw-r--r--
mod_remoteip.html
215
B
-rw-r--r--
mod_remoteip.html.en
26.61
KB
-rw-r--r--
mod_remoteip.html.fr.utf8
29.21
KB
-rw-r--r--
mod_reqtimeout.html
219
B
-rw-r--r--
mod_reqtimeout.html.en
12.75
KB
-rw-r--r--
mod_reqtimeout.html.fr.utf8
13.64
KB
-rw-r--r--
mod_request.html
304
B
-rw-r--r--
mod_request.html.en
9.31
KB
-rw-r--r--
mod_request.html.fr.utf8
9.91
KB
-rw-r--r--
mod_request.html.tr.utf8
9.69
KB
-rw-r--r--
mod_rewrite.html
213
B
-rw-r--r--
mod_rewrite.html.en
78.02
KB
-rw-r--r--
mod_rewrite.html.fr.utf8
84.61
KB
-rw-r--r--
mod_sed.html
205
B
-rw-r--r--
mod_sed.html.en
11.67
KB
-rw-r--r--
mod_sed.html.fr.utf8
12.21
KB
-rw-r--r--
mod_session.html
213
B
-rw-r--r--
mod_session.html.en
34.94
KB
-rw-r--r--
mod_session.html.fr.utf8
38.05
KB
-rw-r--r--
mod_session_cookie.html
227
B
-rw-r--r--
mod_session_cookie.html.en
13.71
KB
-rw-r--r--
mod_session_cookie.html.fr.utf...
14.46
KB
-rw-r--r--
mod_session_crypto.html
227
B
-rw-r--r--
mod_session_crypto.html.en
17.87
KB
-rw-r--r--
mod_session_crypto.html.fr.utf...
19.28
KB
-rw-r--r--
mod_session_dbd.html
221
B
-rw-r--r--
mod_session_dbd.html.en
25.07
KB
-rw-r--r--
mod_session_dbd.html.fr.utf8
26.96
KB
-rw-r--r--
mod_setenvif.html
494
B
-rw-r--r--
mod_setenvif.html.en
21.34
KB
-rw-r--r--
mod_setenvif.html.fr.utf8
23.04
KB
-rw-r--r--
mod_setenvif.html.ja.utf8
21.65
KB
-rw-r--r--
mod_setenvif.html.ko.euc-kr
17.41
KB
-rw-r--r--
mod_setenvif.html.tr.utf8
22.17
KB
-rw-r--r--
mod_slotmem_plain.html
225
B
-rw-r--r--
mod_slotmem_plain.html.en
8.1
KB
-rw-r--r--
mod_slotmem_plain.html.fr.utf8
8.45
KB
-rw-r--r--
mod_slotmem_shm.html
221
B
-rw-r--r--
mod_slotmem_shm.html.en
8.7
KB
-rw-r--r--
mod_slotmem_shm.html.fr.utf8
9.1
KB
-rw-r--r--
mod_so.html
464
B
-rw-r--r--
mod_so.html.en
13.66
KB
-rw-r--r--
mod_so.html.fr.utf8
15.09
KB
-rw-r--r--
mod_so.html.ja.utf8
16.29
KB
-rw-r--r--
mod_so.html.ko.euc-kr
12.39
KB
-rw-r--r--
mod_so.html.tr.utf8
15.01
KB
-rw-r--r--
mod_socache_dbm.html
221
B
-rw-r--r--
mod_socache_dbm.html.en
6.16
KB
-rw-r--r--
mod_socache_dbm.html.fr.utf8
6.29
KB
-rw-r--r--
mod_socache_dc.html
219
B
-rw-r--r--
mod_socache_dc.html.en
6.21
KB
-rw-r--r--
mod_socache_dc.html.fr.utf8
6.34
KB
-rw-r--r--
mod_socache_memcache.html
231
B
-rw-r--r--
mod_socache_memcache.html.en
8.65
KB
-rw-r--r--
mod_socache_memcache.html.fr.u...
9.16
KB
-rw-r--r--
mod_socache_redis.html
225
B
-rw-r--r--
mod_socache_redis.html.en
10.27
KB
-rw-r--r--
mod_socache_redis.html.fr.utf8
10.94
KB
-rw-r--r--
mod_socache_shmcb.html
225
B
-rw-r--r--
mod_socache_shmcb.html.en
6.24
KB
-rw-r--r--
mod_socache_shmcb.html.fr.utf8
6.38
KB
-rw-r--r--
mod_speling.html
398
B
-rw-r--r--
mod_speling.html.en
12.86
KB
-rw-r--r--
mod_speling.html.fr.utf8
13.57
KB
-rw-r--r--
mod_speling.html.ja.utf8
14.53
KB
-rw-r--r--
mod_speling.html.ko.euc-kr
11.75
KB
-rw-r--r--
mod_ssl.html
205
B
-rw-r--r--
mod_ssl.html.en
188.2
KB
-rw-r--r--
mod_ssl.html.fr.utf8
207.15
KB
-rw-r--r--
mod_status.html
484
B
-rw-r--r--
mod_status.html.en
11.93
KB
-rw-r--r--
mod_status.html.fr.utf8
12.82
KB
-rw-r--r--
mod_status.html.ja.utf8
11.42
KB
-rw-r--r--
mod_status.html.ko.euc-kr
9.55
KB
-rw-r--r--
mod_status.html.tr.utf8
12.64
KB
-rw-r--r--
mod_substitute.html
219
B
-rw-r--r--
mod_substitute.html.en
14.62
KB
-rw-r--r--
mod_substitute.html.fr.utf8
15.55
KB
-rw-r--r--
mod_suexec.html
484
B
-rw-r--r--
mod_suexec.html.en
8.11
KB
-rw-r--r--
mod_suexec.html.fr.utf8
8.37
KB
-rw-r--r--
mod_suexec.html.ja.utf8
8.93
KB
-rw-r--r--
mod_suexec.html.ko.euc-kr
8.07
KB
-rw-r--r--
mod_suexec.html.tr.utf8
8.32
KB
-rw-r--r--
mod_systemd.html
213
B
-rw-r--r--
mod_systemd.html.en
7.9
KB
-rw-r--r--
mod_systemd.html.fr.utf8
8.11
KB
-rw-r--r--
mod_tls.html
118
B
-rw-r--r--
mod_tls.html.en
42.32
KB
-rw-r--r--
mod_unique_id.html
406
B
-rw-r--r--
mod_unique_id.html.en
15.14
KB
-rw-r--r--
mod_unique_id.html.fr.utf8
17.4
KB
-rw-r--r--
mod_unique_id.html.ja.utf8
18.45
KB
-rw-r--r--
mod_unique_id.html.ko.euc-kr
13.09
KB
-rw-r--r--
mod_unixd.html
298
B
-rw-r--r--
mod_unixd.html.en
13.64
KB
-rw-r--r--
mod_unixd.html.fr.utf8
14.69
KB
-rw-r--r--
mod_unixd.html.tr.utf8
14.34
KB
-rw-r--r--
mod_userdir.html
489
B
-rw-r--r--
mod_userdir.html.en
12.57
KB
-rw-r--r--
mod_userdir.html.fr.utf8
13.71
KB
-rw-r--r--
mod_userdir.html.ja.utf8
13.08
KB
-rw-r--r--
mod_userdir.html.ko.euc-kr
10.79
KB
-rw-r--r--
mod_userdir.html.tr.utf8
13.22
KB
-rw-r--r--
mod_usertrack.html
217
B
-rw-r--r--
mod_usertrack.html.en
19.68
KB
-rw-r--r--
mod_usertrack.html.fr.utf8
20.92
KB
-rw-r--r--
mod_version.html
398
B
-rw-r--r--
mod_version.html.en
10.33
KB
-rw-r--r--
mod_version.html.fr.utf8
10.95
KB
-rw-r--r--
mod_version.html.ja.utf8
10.88
KB
-rw-r--r--
mod_version.html.ko.euc-kr
10.28
KB
-rw-r--r--
mod_vhost_alias.html
316
B
-rw-r--r--
mod_vhost_alias.html.en
20.98
KB
-rw-r--r--
mod_vhost_alias.html.fr.utf8
22.28
KB
-rw-r--r--
mod_vhost_alias.html.tr.utf8
21.5
KB
-rw-r--r--
mod_watchdog.html
215
B
-rw-r--r--
mod_watchdog.html.en
8.03
KB
-rw-r--r--
mod_watchdog.html.fr.utf8
8.31
KB
-rw-r--r--
mod_xml2enc.html
213
B
-rw-r--r--
mod_xml2enc.html.en
15.28
KB
-rw-r--r--
mod_xml2enc.html.fr.utf8
16.78
KB
-rw-r--r--
module-dict.html
489
B
-rw-r--r--
module-dict.html.en
9.22
KB
-rw-r--r--
module-dict.html.fr.utf8
9.48
KB
-rw-r--r--
module-dict.html.ja.utf8
10.29
KB
-rw-r--r--
module-dict.html.ko.euc-kr
8.49
KB
-rw-r--r--
module-dict.html.tr.utf8
9.43
KB
-rw-r--r--
mpm_common.html
481
B
-rw-r--r--
mpm_common.html.de
62.97
KB
-rw-r--r--
mpm_common.html.en
65.24
KB
-rw-r--r--
mpm_common.html.fr.utf8
72.24
KB
-rw-r--r--
mpm_common.html.ja.utf8
66.66
KB
-rw-r--r--
mpm_common.html.tr.utf8
69.86
KB
-rw-r--r--
mpm_netware.html
213
B
-rw-r--r--
mpm_netware.html.en
10.06
KB
-rw-r--r--
mpm_netware.html.fr.utf8
10.58
KB
-rw-r--r--
mpm_winnt.html
387
B
-rw-r--r--
mpm_winnt.html.de
7.99
KB
-rw-r--r--
mpm_winnt.html.en
10.84
KB
-rw-r--r--
mpm_winnt.html.fr.utf8
11.38
KB
-rw-r--r--
mpm_winnt.html.ja.utf8
8.23
KB
-rw-r--r--
mpmt_os2.html
207
B
-rw-r--r--
mpmt_os2.html.en
7.77
KB
-rw-r--r--
mpmt_os2.html.fr.utf8
7.96
KB
-rw-r--r--
overrides.html
209
B
-rw-r--r--
overrides.html.en
68.7
KB
-rw-r--r--
overrides.html.fr.utf8
74.38
KB
-rw-r--r--
prefork.html
466
B
-rw-r--r--
prefork.html.de
16.15
KB
-rw-r--r--
prefork.html.en
16.08
KB
-rw-r--r--
prefork.html.fr.utf8
17.41
KB
-rw-r--r--
prefork.html.ja.utf8
16.98
KB
-rw-r--r--
prefork.html.tr.utf8
16.85
KB
-rw-r--r--
quickreference.html
792
B
-rw-r--r--
quickreference.html.de
192.38
KB
-rw-r--r--
quickreference.html.en
191.44
KB
-rw-r--r--
quickreference.html.es
191.79
KB
-rw-r--r--
quickreference.html.fr.utf8
205.25
KB
-rw-r--r--
quickreference.html.ja.utf8
194.74
KB
-rw-r--r--
quickreference.html.ko.euc-kr
188.53
KB
-rw-r--r--
quickreference.html.tr.utf8
194.31
KB
-rw-r--r--
quickreference.html.zh-cn.utf8
191.3
KB
-rw-r--r--
worker.html
461
B
-rw-r--r--
worker.html.de
15.79
KB
-rw-r--r--
worker.html.en
15.41
KB
-rw-r--r--
worker.html.fr.utf8
16.26
KB
-rw-r--r--
worker.html.ja.utf8
16.62
KB
-rw-r--r--
worker.html.tr.utf8
16.13
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mod_http2.html.fr.utf8
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_http2 - Serveur HTTP Apache Version 2.4</title> <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> <script src="../style/scripts/prettify.min.js" type="text/javascript"> </script> <link href="../images/favicon.ico" rel="shortcut icon" /></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> <p class="apache">Serveur HTTP Apache Version 2.4</p> <img alt="" src="../images/feather.png" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> <div id="page-content"> <div id="preamble"><h1>Module Apache mod_http2</h1> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../en/mod/mod_http2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la couche transport HTTP/2</td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>http2_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_http2.c</td></tr> <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.17 du serveur HTTP Apache</td></tr></table> <h3>Sommaire</h3> <p>Ce module ajoute le support de HTTP/2 (<a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a>) au serveur HTTP Apache.</p> <p>Il s'appuie sur la bibliothèque <a href="http://nghttp2.org/">libnghttp2</a> pour implémenter le moteur de base http/2.</p> <p>Pour mettre en oeuvre les fonctionnalités décrites dans ce document, vous devez activer HTTP/2 en utilisant la directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>. HTTP/2 <a href="https://http2.github.io/faq/#does-http2-require-encryption">n'imposant pas</a> de chiffrement, deux protocoles sont disponibles : <code>h2</code> (HTTP/2 avec TLS) at <code>h2c</code> (HTTP/2 avec TCP).</p> <p>Voici deux types de configuration courant :</p> <div class="note"><h3>HTTP/2 dans un contexte de serveur virtuel (TLS seulement)</h3> <pre class="prettyprint lang-config">Protocols h2 http/1.1</pre> <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> sécurisé. La vérification du préambule HTTP/2 (mode direct, voir <code class="directive"><a href="#h2direct">H2Direct</a></code>) est désactivée par défaut pour <code>h2</code>.</p> </div> <div class="note"><h3>HTTP/2 dans un contexte de serveur (TLS et texte pur)</h3> <pre class="prettyprint lang-config">Protocols h2 h2c http/1.1</pre> <p>Permet une négociation HTTP/2 (h2) via TLS ALPN au sein d'un <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> sécurisé. Permet aussi une négociation HTTP/2 en texte pur (h2c) en effectuant une mise à jour depuis une connexion initiale HTTP/1.1 ou via une vérification du préambule HTTP/2 (mode direct, voir <code class="directive"><a href="#h2direct">H2Direct</a></code>).</p> </div> <p>Si vous avez besoin d'informations supplémentaires à propos du protocole, veuillez vous reporter à la <a href="https://http2.github.io/faq">HTTP/2 FAQ</a>.</p> </div> <div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3>Sujets</h3> <ul id="topics"> <li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment ça marche ?</a></li> </ul><h3 class="directives">Directives</h3> <ul id="toc"> <li><img alt="" src="../images/down.gif" /> <a href="#h2copyfiles">H2CopyFiles</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2direct">H2Direct</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2earlyhints">H2EarlyHints</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2maxsessionstreams">H2MaxSessionStreams</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2maxworkeridleseconds">H2MaxWorkerIdleSeconds</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2maxworkers">H2MaxWorkers</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2minworkers">H2MinWorkers</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2moderntlsonly">H2ModernTLSOnly</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2outputbuffering">H2OutputBuffering</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2padding">H2Padding</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2push">H2Push</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2pushdiarysize">H2PushDiarySize</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2pushpriority">H2PushPriority</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2pushresource">H2PushResource</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2serializeheaders">H2SerializeHeaders</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2tlscooldownsecs">H2TLSCoolDownSecs</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2upgrade">H2Upgrade</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#h2windowsize">H2WindowSize</a></li> </ul> <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_http2">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_http2">Signaler un bug</a></li></ul><h3>Voir aussi</h3> <ul class="seealso"> <li><a href="#comments_section">Commentaires</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="how-it-works" id="how-it-works">Comment ça marche ?</a></h2> <h3><a name="dimensioning" id="dimensioning">Quantification des ressources supplémentaires nécessaires à HTTP/2</a></h3> <p> Activer HTTP/2 sur votre serveur Apache a un impact sur la consommation de ressources, et si votre site est très actif, il est conseillé d'en prendre sérieusement en compte les implications. </p> <p> HTTP/2 attribue à chaque requête qu'il reçoit son propre <em>thread de travail</em> pour son traitement, la collecte des résultats et l'envoie de ces derniers au client. Pour y parvenir, il lui faut lancer des threads supplémentaires, et ceci constituera le premier effet notable de l'activation de HTTP/2. </p> <p> Dans l'implémentation actuelle, ces threads de travail font partie d'un jeu de threads distinct de celui des threads de travail du MPM avec lequel vous êtes familié. Il s'agit simplement du mode de fonctionnement actuel, et il n'en sera pas obligatoirement toujours ainsi (il est cependant probable que la situation restera inchangée avec la version 2.4.x). De par ce mode de fonctionnement, les threads de travail HTTP/2, ou plus simplement H2 ne seront pas affichés par <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. De même, ils ne seront pas pris en compte par les directives du style <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>. Par contre, ils utilisent par défaut la valeur de <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code> si vous n'avez pas spécifié d'autres valeurs via <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code> et <code class="directive"><a href="#h2maxworkers">H2MaxWorkers</a></code>. </p> <p> Autre changement à surveiller : la consommation de mémoire. En effet, comme HTTP/2 conserve plus d'informations sur le serveur pour gérer toutes les requêtes en cours, leurs priorités et interdépendances, il aura toujours besoin de plus de mémoire que pour un traitement en HTTP/1.1. Trois directives permettent de limiter l'empreinte mémoire d'une connexion HTTP/2 : <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code>, <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> et <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code>. </p> <p> La directive <code class="directive"><a href="#h2maxsessionstreams">H2MaxSessionStreams</a></code> permet de limiter le nombre de requêtes simultanées qu'un client peut envoyer sur une connexion HTTP/2. La valeur que vous allez définir dépend de votre site. La valeur par défaut qui est de 100 est largement suffisante, et à moins que vous ne soyez un peu juste en mémoire, je vous conseille de ne pas la modifier. La plupart des requêtes qu'envoie un client sont des requêtes de type GET sans corps qui n'utilisent que très peu de mémoire en attendant le démarrage du traitement. </p> <p> La directive <code class="directive"><a href="#h2windowsize">H2WindowSize</a></code> permet de définir la taille maximale que peut avoir le corps d'une requête que le client envoie avant d'attendre que le serveur en demande d'avantage. En d'autres termes, il s'agit de la quantité de données que le serveur peut stocker dans son tampon, valable pour une requête. </p> <p> En outre, la directive <code class="directive"><a href="#h2streammaxmemsize">H2StreamMaxMemSize</a></code> permet de définir la quantité de données de la réponse qui doit être mise en tampon. Chaque requête étant prise en charge par un thread H2Worker et produisant des données que le serveur tente de transmettre au client via une connexion HTTP/2, si le client n'est pas en mesure de lire ces données assez rapidement, la connexion les mettra en tampon et interrompra l'exécution du thread H2Worker correspondant. </p> <h3><a name="misdirected" id="misdirected">Serveurs virtuels et requêtes mal redirigées</a></h3> <p> De nombreux site utilisent le même certificat TLS pour plusieurs serveurs virtuels. Ce certificat référence un nom de serveur générique comme '*.example.org' ou plusieurs noms de serveur différents. Les navigateurs qui utilisent HTTP/2 détectent ce comportement et réutilisent une connexion déjà ouverte pour ces serveurs. </p> <p> Ceci améliore considérablement les performances, mais il y a un prix à payer : il faut accorder un soin tout particulier à la configuration de tels serveurs virtuels. Le problème réside dans le fait que plusieurs requêtes pour plusieurs serveurs virtuels vont se partager la même connexion TLS, et ceci empêche toute renégociation car le standard HTTP/2 l'interdit. </p> <p> Ainsi, lorsque plusieurs de vos serveurs virtuels utilisent le même certificat et si vous souhaitez utiliser HTTP/2 pour y accéder, vous devez vous assurer que tous vos serveurs virtuels possèdent exactement la même configuration SSL. En particulier, ils doivent utiliser les mêmes protocole, algorithme de chiffrement et configuration pour la vérification du client. </p> <p> Dans le cas contraire, Apache httpd le détectera et renverra au client un code de réponse spécial, 421 Misdirected Request. </p> <h3><a name="envvars" id="envvars">Variables d'environnement</a></h3> <p>Ce module peut être configuré pour fournir des informations en rapport avec HTTP/2 sous la forme de variables d'environnement supplémentaires dans l'espace de nommage SSI et CGI, ainsi que dans les configurations personnalisées de le journalisation (voir <code>%{VAR_NAME}e</code>). </p> <table class="bordered"> <tr> <th><a name="table3">Nom variable :</a></th> <th>Type :</th> <th>Description :</th> </tr> <tr><td><code>HTTPe</code></td><td>drapeau</td><td>HTTP/2 est utilisé.</td></tr> <tr><td><code>H2PUSH</code></td><td>drapeau</td><td>La fonctionnalité HTTP/2 Server Push est activée pour cette requête et supportée par le client.</td></tr> <tr><td><code>H2_PUSH</code></td><td>drapeau</td><td>autre nom pour <code>H2PUSH</code></td></tr> <tr><td><code>H2_PUSHED</code></td><td>chaîne</td><td>vide ou <code>PUSHED</code> pour une requête pushée par le serveur.</td></tr> <tr><td><code>H2_PUSHED_ON</code></td><td>nombre</td><td>numéro du flux HTTP/2 qui a déclenché le push de cette requête.</td></tr> <tr><td><code>H2_STREAM_ID</code></td><td>nombre</td><td>numéro du flux HTTP/2 de cette requête.</td></tr> <tr><td><code>H2_STREAM_TAG</code></td><td>chaîne</td><td>identifiant de flux unique du processus HTTP/2 composé de l'identifiant de la connexion et de l'identifiant du flux séparés par <code>-</code>.</td></tr> </table> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2copyfiles" id="h2copyfiles">Directive</a> <a name="H2CopyFiles" id="H2CopyFiles">H2CopyFiles</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la gestion des fichiers dans les réponses</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2CopyFiles on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2CopyFiles off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet de définir la manière de gérer les contenus de fichiers dans les réponses. Lorsqu'elle est à <code>off</code> (sa valeur par défaut), les descripteurs de fichiers sont transmis par le processus de traitement de la requête vers la connexion principale en utilisant le système habituel de mise en réserve d'Apache pour gérer le durée de vie du fichier. </p> <p> Lorsqu'elle est à <code>on</code>, le contenu du fichier est recopier pendant le traitement de la requête et ces données mises en tampon sont transmises vers la connexion principale, ce qui s'avère avantageux lorsqu'un module tiers injecte dans la réponse des fichiers possédant des durées de vie différentes. </p> <p> Un exemple de ces modules tiers : <code>mod_wsgi</code> qui peut injecter des descripteurs de fichiers dans la réponse. Ces fichiers sont fermés lorsque Python estime que le traitement est terminé, alors que <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> est probablement encore loin d'en avoir fini avec eux. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2direct" id="h2direct">Directive</a> <a name="H2Direct" id="H2Direct">H2Direct</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation du protocole H2 Direct</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Direct on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Direct on pour h2c, off pour le protocole h2</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet d'activer/désactiver l'utilisation du mode HTTP/2 Direct. Elle doit être située dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la communication directe HTTP/2 pour le serveur virtuel considéré. </p> <p> La notion de communication directe signifie que si les premiers octets reçus par le serveur correspondent à un en-tête HTTP/2, le protocole HTTP/2 est utilisé sans négociation supplémentaire. Ce mode est défini pour les transmissions en clair (h2c) dans la RFC 7540. Son utilisation avec les connexions TLS n'est pas officiellement supportée. </p> <p> Lorsque le protocole h2 ou h2c n'est pas activé via la directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>, la recherche d'un en-tête HTTP/2 n'est jamais effectuée au sein d'une connexion. La directive <code class="directive">H2Direct</code> ne produit alors aucun effet. Ceci est important pour les connexions qui utilisent un protocole pour lequel une lecture initiale peut entraîner un blocage définitif comme NNTP. </p> <p> Pour un client qui sait qu'un serveur supporte h2c, la communication directe HTTP/2 dispense le client d'une mise à jour HTTP/1.1, ce qui entraîne une amélioration des performances et évite les restrictions sur les corps de requête suite à une mise à jour. </p> <p> Cette directive rend aussi h2c plus attractif pour les communications de serveur à serveur lorsque la connexion est sure ou peut être sécurisée d'une manière ou d'une autre. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Direct on</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2earlyhints" id="h2earlyhints">Directive</a> <a name="H2EarlyHints" id="H2EarlyHints">H2EarlyHints</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'envoi de codes d'état 103</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2EarlyHints on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2EarlyHints off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet de définir si les réponses intermédiaires contenant un code d'état HTTP 103 doivent être envoyées au client ou non. Par défaut ce n'est actuellement pas le cas car certains clients ont encore des problèmes avec les réponses intermédiaires inattendues. </p> <p> Lorsque cette directive est définie à <code>on</code>, les ressources PUSHées définie par la directive <code class="directive"><a href="#h2pushresource">H2PushResource</a></code> déclenchent une réponse intermédiaire 103 avant la réponse finale. Cette réponse 103 comporte des en-têtes <code>Link</code> qui provoquent le <code>préchargement</code> des ressources considérées. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2maxsessionstreams" id="h2maxsessionstreams">Directive</a> <a name="H2MaxSessionStreams" id="H2MaxSessionStreams">H2MaxSessionStreams</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de flux actifs par session HTTP/2.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxSessionStreams <em>n</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxSessionStreams 100</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir le nombre maximal de flux actifs par session (connexion) HTTP/2 accepté par le serveur. Selon la RFC 7540, un flux est considéré comme actif s'il n'est ni <code>en attente</code> ni <code>fermé</code>. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxSessionStreams 20</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2maxworkeridleseconds" id="h2maxworkeridleseconds">Directive</a> <a name="H2MaxWorkerIdleSeconds" id="H2MaxWorkerIdleSeconds">H2MaxWorkerIdleSeconds</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de secondes pendant lequel une unité de traitement h2 pourra rester inactive sans être arrêtée.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxWorkerIdleSeconds <em>n</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2MaxWorkerIdleSeconds 600</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir le nombre maximal de secondes pendant lequel une unité de traitement h2 pourra rester inactive avant de s'arrêter elle-même. Cet arrêt ne peut cependant se produire que si le nombre d'unités de traitement h2 dépasse <code class="directive"><a href="#h2minworkers">H2MinWorkers</a></code>. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxWorkerIdleSeconds 20</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2maxworkers" id="h2maxworkers">Directive</a> <a name="H2MaxWorkers" id="H2MaxWorkers">H2MaxWorkers</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximal de threads à utiliser pour chaque processus enfant.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MaxWorkers <em>n</em></code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir le nombre maximal de threads à lancer pour le traitement HTTP/2 de chaque processus enfant. Si cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> choisira une valeur appropriée en fonction du module <code>mpm</code> utilisé. This directive sets the maximum number of worker threads to spawn per child process for HTTP/2 processing. If this directive is not used, <code>mod_http2</code> will chose a value suitable for the <code>mpm</code> module loaded. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MaxWorkers 20</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2minworkers" id="h2minworkers">Directive</a> <a name="H2MinWorkers" id="H2MinWorkers">H2MinWorkers</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimal de threads à utiliser pour chaque processus enfant.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2MinWorkers <em>n</em></code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir le nombre minimal de threads à lancer pour le traitement HTTP/2 de chaque processus enfant. Si cette directive n'est pas définie, <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> choisira une valeur appropriée en fonction du module <code>mpm</code> utilisé. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2MinWorkers 10</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2moderntlsonly" id="h2moderntlsonly">Directive</a> <a name="H2ModernTLSOnly" id="H2ModernTLSOnly">H2ModernTLSOnly</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Impose les connexions HTTP/2 en mode "TLS moderne" seulement</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2ModernTLSOnly on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2ModernTLSOnly on</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet de définir si les vérifications de sécurité sur les connexions HTTP/2 doivent être exclusivement en mode TLS (https:). Elle peut être placée au niveau du serveur principal ou dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. </p> <p> Les vérifications de sécurité nécessitent TLSv1.2 au minimum et l'absence de tout algorithme de chiffrement listé dans la RFC 7540, Appendix A. Ces vérifications seront étendues lorsque de nouveaux prérequis en matière de sécurité seront mis en place. </p> <p> Le nom provient des définitions Mozilla <a href="https://wiki.mozilla.org/Security/Server_Side_TLS">Security/Server Side TLS</a> où il est question de "modern compatibility". Mozilla Firefox et d'autres navigateurs imposent la "modern compatibility" pour les connexions HTTP/2. Comme toute chose en matière de sécurité opérationnelle, c'est une cible mouvante susceptible d'évoluer dans le futur. </p> <p> Un des buts de ces vérifications dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> tend à imposer ce niveau de sécurité pour toutes les connexions, et non seulement celles en provenance des navigateurs web. Un autre but est l'interdiction d'utiliser HTTP/2 en tant que protocole dans les négociations si les prérequis ne sont pas respectés. </p> <p> En fin de compte, la sécurité de la connexion TLS est déterminée par les directives de configuration du serveur pour <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2ModernTLSOnly off</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2outputbuffering" id="h2outputbuffering">Directive</a> <a name="H2OutputBuffering" id="H2OutputBuffering">H2OutputBuffering</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la mise en tampon du flux de sortie</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2OutputBuffering on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2OutputBuffering on</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.48 du serveur HTTP Apache.</td></tr> </table> <p> La directive <code class="directive">H2OutputBuffering</code> permet de contrôler la mise en tampon du flux de sortie. La valeur par défaut est on, ce qui correspond au comportement des versions précédentes. Lorsqu'elle est à off, chaque octet est immédiatement disponible pour envoi au client via la connexion principale. Ceci permet de résoudre les problèmes d'inter-opérations avec certaines versions de gRPC. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2padding" id="h2padding">Directive</a> <a name="H2Padding" id="H2Padding">H2Padding</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie un intervalle de nombres d'octets de bourrage à ajouter aux trames utiles</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Padding <em>numbits</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Padding 0</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.39 du serveur HTTP Apache.</td></tr> </table> <p> La valeur par défaut 0 indique qu'aucun octet de bourrage ne sera ajouté aux trames utiles comme HEADERS, DATA et PUSH_PROMISE. Ceci correspond au comportement des versions précédentes. Dans ce cas et sous certaines conditions, un observateur du trafic réseau pourra alors déterminer la longueur de ces trames dans le flux TLS. </p> <p> Si on attribue à numbits la valeur 1-8, un nombre aléatoire d'octets entre 0 et 2^numbits sont ajoutés à chaque trame. Une valeur aléatoire d'octets de bourrage est attribué indépendamment à chaque trame que le module renvoie au client. </p> <p> Pour améliorer la dissimulation de la longueur des trames, on peut augmenter le nombre moyen d'octets de bourrage, mais cela augmente d'autant le trafic réseau. Le nombre optimal d'octets de bourrage dépend donc du type de trafic web que le serveur engendre. </p> <p> La valeur par défaut de 0 (aucun octet de bourrage) a été choisie dans un but de compatibilité ascendante. Il peut en effet exister des installations où les octets de bourrage ne sont pas souhaités ou sont néfastes. La cause principale peut provenir d'un client dont l'implémentation comporte des erreurs. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2push" id="h2push">Directive</a> <a name="H2Push" id="H2Push">H2Push</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/désactivation du server push H2</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Push on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Push on</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet d'activer/désactiver l'utilisation de la fonctionnalité server push du protocole HTTP/2. </p> <p> Lorsqu'un client demande une ressource particulière, le protocole HTTP/2 permet au serveur de lui fournir des ressources supplémentaires. Ceci s'avère utile lorsque ces ressources sont reliées entre elles, ce qui peut laisser supposer que le client va probablement les demander dans un délai plus ou moins long. Le mécanisme de pushing permet alors au client d'économiser le temps qu'il lui aurait fallu pour demander ces ressources supplémentaires lui-même. Par contre, fournir au client des ressources dont il n'a pas besoin ou qu'il possède déjà constitue une perte de bande passante. </p> <p> Les server pushes sont détectés en inspectant les en-têtes <code>Link</code> des réponses (voir https://tools.ietf.org/html/rfc5988 pour la spécification). Lorsqu'un lien spécifié de cette manière possède l'attribut <code>rel=preload</code>, il est considéré comme devant faire l'objet d'un push. </p> <p> Les en-têtes link des réponses sont soit définis par l'application, soit configurés via <code class="directive"><a href="#h2pushresource">H2PushResource</a></code> ou <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code> comme suit : </p> <div class="example"><h3>Exemple de configuration d'en-tête link via mod_headers</h3><pre class="prettyprint lang-config"><Location /index.html> Header add Link "</css/site.css>;rel=preload" Header add Link "</images/logo.jpg>;rel=preload" </Location></pre> </div> <p> Comme le montre l'exemple, il est possible d'ajouter autant d'en-têtes link que l'on souhaite à une réponse, ce qui déclenchera autant de pushes. Cette fonctionnalité doit donc être utilisée avec prudence car le module ne vérifie pas si une ressource n'a pas déjà été "pushée" vers un client. </p> <p> Les PUSH HTTP/2 sont activés par défaut. Vous pouvez activer/désactiver cette fonctionnalité pour toute connexion au serveur au niveau global ou serveur virtuel. Vous pouvez en outre désactiver PUSH pour un jeu de ressources dans une section Directory/Location. Notez que ceci permet de contrôler quelles ressources peuvent déclencher un PUSH, mais pas les ressources qui peuvent être envoyées via PUSH. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Push off</pre> </div> <p> Enfin, il est important de savoir que les pushes ne se produisent que si le client en manifeste le désir ; la plupart des navigateurs le font, mais certains, comme Safari 9, ne le font pas. En outre, les pushes ne se produisent que pour les ressources de la même <em>autorité</em> que celle de la réponse originale. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2pushdiarysize" id="h2pushdiarysize">Directive</a> <a name="H2PushDiarySize" id="H2PushDiarySize">H2PushDiarySize</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du journal des Pushes H2</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushDiarySize n</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushDiarySize 256</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.19 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet de définir le nombre maximum de pushes qui seront enregistrés pour une connexion HTTP/2. Elle peut être placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin de définir le nombre de pushes pour le serveur virtuel considéré. </p> <p> Le journal des pushes enregistre un condensé des ressources préchargées (leurs URLs) afin d'éviter les duplications de pushes pour une même connexion. Cependant, ces données ne sont pas conservées, et les clients qui ouvrent une nouvelle connexion se verront à nouveau affecter les mêmes pushes. </p> <p> Si la taille maximale est atteinte, les nouvelles entrées remplacent les plus anciennes. Une entrée du journal nécessitant 8 octets, un journal de 256 entrées consomme 2 Ko de mémoire. </p> <p> Si cette directive est définie à 0, le journal des pushes est désactivé. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2pushpriority" id="h2pushpriority">Directive</a> <a name="H2PushPriority" id="H2PushPriority">H2PushPriority</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Priorité des pushes H2</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushPriority <em>mime-type</em> [after|before|interleaved] [<em>weight</em>]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2PushPriority * After 16</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP Apache. Nécessite la bibliothèque nghttp2 version 1.5.0 ou supérieure.</td></tr> </table> <p> Cette directive permet de définir une gestion de priorité des pushes en fonction du type de contenu de la réponse. Elle est en général définie au niveau du serveur principal, mais peut aussi l'être au niveau d'un serveur virtuel. </p> <p> Les pushes HTTP/2 sont toujours liés à une requête client. Chaque paire requête/réponse de cette sorte, ou <em>flux</em>, possède une dépendance et un poids qui définissent la <em>priorité</em> du flux. </p> <p> Lorsqu'un flux <em>dépend</em> d'un autre, disons X dépend de Y, alors Y reçoit toute la bande passante avant que X n'en reçoive ne serait-ce qu'une partie. Notez que cela ne signifie en rien que Y bloque X ; en effet, si Y n'a aucune donnée à envoyer, toute la bande passante qui lui est allouée peut être utilisée par X. </p> <p> Lorsque plusieurs flux dépendent d'un même autre flux, disons X1 et X2 dépendent tous deux de Y, le <em>poids</em> détermine la bande passante allouée. Ainsi, si X1 et X2 possèdent le même poids, ils recevront tous deux la moitié de la bande passante disponible. Si le poids de X1 est égal au double de celui de X2, X1 recevra une bande passante double de celle de X2. </p> <p> En fin de compte, tout flux dépend du flux <em>racine</em> qui reçoit toute la bande passante disponible mais n'envoie jamais de données. Cette bande passante est ainsi répartie entre les flux enfants selon leur poids. Ces derniers l'utilisent alors pour envoyer leurs données ou pour la répartir entre leurs propres flux enfants, et ainsi de suite. Si aucun des flux enfants n'a de données à envoyer, la bande passante est attribuée à d'autres flux selon les mêmes règles. </p> <p> Ce système de priorités a été conçu de façon a toujours pouvoir utiliser la bande passante disponible tout en définissant des priorités et en attribuant des poids aux différents flux. Ainsi, tous les flux sont en général initialisés par le client qui lui-même définit les priorités. </p> <p> Seul le fait de savoir qu'un flux implique un PUSH permet au serveur de décider quelle est la priorité <em>initiale</em> d'un tel flux. Dans les exemples ci-dessous, X est le flux client. Il dépend de Y et le serveur décide de "PUSHer" les flux P1 et P2 sur X. </p> <p> La règle de priorité par défaut est : </p> <div class="example"><h3>Règle de priorité par défaut</h3><pre class="prettyprint lang-config">H2PushPriority * After 16</pre> </div> <p> Elle peut se traduire par "Envoyer un flux PUSH avec tout type de contenu et dépendant du flux client avec le poids 16". P1 et P2 seront alors envoyés après X, et comme leurs poids sont identiques, il se verront allouer la même quantité de bande passante. </p> <div class="example"><h3>Règle de priorité entrelacée</h3><pre class="prettyprint lang-config">H2PushPriority text/css Interleaved 256</pre> </div> <p> Ce qui peut se traduire par "Envoyer toute ressource CSS dans la même dépendance et avec le même poids que le flux client". Si le type de contenu de P1 est "text/css", il dépendra de Y (comme X) et son poids effectif sera calculé selon la formule : <code>P1ew = Xw * (P1w / 256)</code>. Si P1w est de 256, Le poids effectif de P1 sera le même que celui de X. Si X et P1 ont des données à envoyer, il se verront allouer la même quantité de bande passante. </p> <p> Avec un Pw de 512, un flux entrelacé et PUSHé aura un poids double de celui de X. Avec un poids de 128, son poids ne sera que la moitié de celui de X. Notez que les poids effectifs sont toujours plafonnés à 256. </p> <div class="example"><h3>Règle de priorité Before</h3><pre class="prettyprint lang-config">H2PushPriority application/json Before</pre> </div> <p> Dans cet exemple, tout flux PUSHé dont le contenu est de type 'application/json' sera envoyé <em>avant</em> X, ce qui rend P1 dépendant de Y et X dépendant de P1. Ainsi, X sera mis en attente aussi longtemps que P1 aura des données à envoyer. Le poids effectif est hérité du flux client, et l'attribution d'un poids spécifique n'est pas autorisée. </p> <p> Vous devez garder à l'esprit que les spécifications en matière de priorités sont limitées par les ressources disponibles du serveur. Si un serveur ne dispose d'aucun processus/thread de travail pour les flux PUSHés, les données du flux considéré ne seront envoyées que lorsque les autres flux auront terminé l'envoi des leurs. </p> <p> Enfin et surtout, il convient de tenir compte de certaines particularités de la syntaxe de cette directive : </p> <ol> <li>'*' est la seule expression permettant de remplacer tout type de contenu. 'image/*' ne fonctionnera pas.</li> <li>La dépendance par défaut est 'After'.</li> <li>Il existe aussi des poids par défaut : pour 'After' le poids est de 16, alors que pour 'interleaved' il est de 256. </li> </ol> <div class="example"><h3>Exemples de règles</h3><pre class="prettyprint lang-config">H2PushPriority application/json 32 # une règle de priorité 'After' H2PushPriority image/jpeg before # poid hérité H2PushPriority text/css interleaved # poids de 256 par défaut</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2pushresource" id="h2pushresource">Directive</a> <a name="H2PushResource" id="H2PushResource">H2PushResource</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Déclare des ressources à proposer ("pusher") au client</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2PushResource [add] <em>path</em> [critical]</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.24 du serveur HTTP Apache.</td></tr> </table> <p> Lorsqu'il sont activés pour un répertoire, les PUSHes HTTP/2 seront tentés pour tous les chemins ajoutés via cette directive. Cette dernière peut être utilisée plusieurs fois pour le même répertoire. </p> <p> Cette directive propose des ressources beaucoup plus tôt que les en-têtes <code>Link</code> de <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>. <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> présente ces ressources au client via une réponse intermédiaire <code>103 Early Hints</code>. Ceci implique que les clients qui ne supportent pas PUSH recevront quand-même rapidement des propositions de préchargement. </p> <p> A la différence de la définition d'en-têtes de réponse <code>Link</code> via <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>, cette directive n'aura d'effet que pour les connexions HTTP/2. </p> <p> En ajoutant l'option <code>critical</code> à une telle ressource, le serveur la traitera prioritairement, et une fois les données disponibles, ces dernières seront envoyées avant les données de la requête principale. </p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2serializeheaders" id="h2serializeheaders">Directive</a> <a name="H2SerializeHeaders" id="H2SerializeHeaders">H2SerializeHeaders</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active/désactive la sérialisation du traitement des requêtes/réponses</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2SerializeHeaders on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2SerializeHeaders off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir si les requêtes HTTP/2 doivent être sérialisées au format HTTP/1.1 pour être traitées par le noyau de <code>httpd</code>, ou si les données binaires reçues doivent être passées directement aux <code>request_rec</code>s. </p> <p> La sérialisation dégrade les performances, mais garantit une meilleure compatibilité ascendante lorsque des filtres ou programmes accroche personnalisés en ont besoin. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2SerializeHeaders on</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2streammaxmemsize" id="h2streammaxmemsize">Directive</a> <a name="H2StreamMaxMemSize" id="H2StreamMaxMemSize">H2StreamMaxMemSize</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de données en sortie mises en tampon par flux.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2StreamMaxMemSize <em>bytes</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2StreamMaxMemSize 65536</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir la quantité maximale de données en sortie mises en tampon mémoire pour un flux actif. Ce tampon mémoire n'est pas alloué pour chaque flux en tant que tel. Les quantités de mémoire sont définies en fonction de cette limite lorsqu'elles sont sur le point d'être allouées. Le flux s'arrête lorsque la limite a été atteinte, et ne reprendra que lorsque les données du tampon auront été transmises au client. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2StreamMaxMemSize 128000</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2tlscooldownsecs" id="h2tlscooldownsecs">Directive</a> <a name="H2TLSCoolDownSecs" id="H2TLSCoolDownSecs">H2TLSCoolDownSecs</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée d'inactivité d'une connexion TLS avant diminution de la taille des paquets</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2TLSCoolDownSecs <em>seconds</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSCoolDownSecs 1</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet de spécifier le nombre de secondes avant lequel une connexion TLS inactive va diminuer la taille des paquets de données à une valeur inférieure (~1300 octets). Elle peut être définie au niveau du serveur principal ou pour un <code class="directive"><a href="../mod/core.html#serveur virtuel"><serveur virtuel></a></code> spécifique. </p> <p> Voir la directive <code class="directive"><a href="#h2tlswarmupsize">H2TLSWarmUpSize</a></code> pour une description du "préchauffage" de TLS. La directive <code class="directive">H2TLSCoolDownSecs</code> met en lumière le fait que les connexions peuvent se détériorer au bout d'un certain temps (et au fur et à mesure des corrections du flux TCP), et cela même si elle sont inactives. Pour ne pas détériorer les performances d'une manière générale, il est par conséquent préférable de revenir à la phase de préchauffage lorsqu'aucune donnée n'a été transmise pendant un certain nombre de secondes. </p> <p> Dans les situations où les connexions peuvent être considérées comme fiables, ce délai peut être désactivé en définissant cette directive à 0. </p> <p> Dans l'exemple suivant, la directive est définie à 0, ce qui désactive tout retour à une phase de préchauffage des connexions TLS. Les connexions TLS déjà préchauffées conservent donc toujours leur taille de paquet de données maximale. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2TLSCoolDownSecs 0</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2tlswarmupsize" id="h2tlswarmupsize">Directive</a> <a name="H2TLSWarmUpSize" id="H2TLSWarmUpSize">H2TLSWarmUpSize</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille des paquets durant la phase initiale de la connexion TLS</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2TLSWarmUpSize <em>amount</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2TLSWarmUpSize 1048576</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.18 du serveur HTTP Apache.</td></tr> </table> <p> Cette directive permet de définir le nombre d'octets à envoyer dans les petits enregistrements TLS (~1300 octets) avant d'atteindre leur taille maximale de 16 ko pour les connexions https: HTTP/2. Elle peut être définie au niveau du serveur principal ou pour des <code class="directive"><a href="../mod/core.html#serveurs virtuels"><Serveurs virtuels></a></code> spécifiques. </p> <p> Les mesures effectuées par les <a href="https://www.igvita.com">laboratoires de performances de Google</a> montrent que les meilleurs performances sont atteintes pour les connexions TLS si la taille initiale des enregistrements reste en deça du niveau du MTU afin de permettre à la totatlité d'un enregistrement d'entrer dans un paquet IP. </p> <p> Comme TCP ajuste son contrôle de flux et sa taille de fenêtre, des enregistrements TLS trop longs peuvent rester en file d'attente ou même être perdus et devoir alors être réémis. Ceci est bien entendu vrai pour tous les paquets ; cependant, TLS a besoin de la totalité de l'enregistrement pour pouvoir le déchiffrer. Tout octet manquant rendra impossible l'utilisation de ceux qui ont été reçus. </p> <p> Lorqu'un nombre suffisant d'octets a été transmis avec succès, la connexion TCP est stable, et la taille maximale (16 ko) des enregistrements TLS peut être utilisée pour des performances optimales. </p> <p> Dans les architectures où les serveurs sont atteints par des machines locales ou pour les connexions de confiance seulement, la valeur de cette directive peut être définie à 0, ce qui a pour effet de désactiver la "phase de chauffage". </p> <p> Dans l'exemple suivant, la phase de chauffage est effectivement désactivée en définissant la directive à 0. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2TLSWarmUpSize 0</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2upgrade" id="h2upgrade">Directive</a> <a name="H2Upgrade" id="H2Upgrade">H2Upgrade</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation du protocole de mise à jour H2</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2Upgrade on|off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2Upgrade on pour h2c, off pour h2</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet d'activer/désactiver l'utilisation de la méthode de mise à jour pour passer de HTTP/1.1 à HTTP/2. Elle doit être placée dans une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> afin d'activer la mise à jour vers HTTP/2 pour le serveur virtuel considéré. </p> <p> Cette méthode de changement de protocole est définie dans HTTP/1.1 et utilise l'en-tête "Upgrade" (d'où son nom) pour indiquer l'intention d'utiliser un autre protocole. Cet en-tête peut être présent dans toute requête sur une connexion HTTP/1.1. </p> <p> Elle activée par défaut pour les transmissions en clair (h2c), et désactivée avec TLS (h2), comme préconisé par la RFC 7540. </p> <p> Sachez cependant que les mises à jour ne sont acceptées que pour les requêtes qui ne possèdent pas de corps. Le requêtes de type POST et PUT avec un contenu ne feront jamais l'objet d'une mise à jour vers HTTP/2. Se référer à la documentation de la directive <code class="directive"><a href="#h2direct">H2Direct</a></code> pour envisager une alternative à Upgrade. </p> <p> Cette directive n'a d'effet que si h2 ou h2c est activé via la directive <code class="directive"><a href="../mod/core.html#protocols">Protocols</a></code>. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2Upgrade on</pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="h2windowsize" id="h2windowsize">Directive</a> <a name="H2WindowSize" id="H2WindowSize">H2WindowSize</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale des paquets de données pour les transmissions client vers serveur.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>H2WindowSize <em>bytes</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>H2WindowSize 65535</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_http2</td></tr> </table> <p> Cette directive permet de définir la taille maximale des paquets de données envoyés par le client au serveur, et limite la quantité de données que le serveur doit mettre en tampon. Le client arrêtera d'envoyer des données sur un flux lorsque cette limite sera atteinte jusqu'à ce que le serveur indique qu'il dispose d'un espace suffisant (car il aura traité une partie des données). </p><p> Cette limite n'affecte que les corps de requêtes, non les métadonnées comme les en-têtes. Par contre, elle n'affecte pas les corps de réponses car la taille maximale de ces derniers est gérée au niveau des clients. </p> <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">H2WindowSize 128000</pre> </div> </div> </div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/mod/mod_http2.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/mod/mod_http2.html" title="Français"> fr </a></p> </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_http2.html'; (function(w, d) { if (w.location.hostname.toLowerCase() == "httpd.apache.org") { d.write('<div id="comments_thread"><\/div>'); var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); } else { d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); } })(window, document); //--><!]]></script></div><div id="footer"> <p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } //--><!]]></script> </body></html>
Close