Auteur Sujet: http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https  (Lu 50459 fois)

0 Membres et 1 Invité sur ce sujet

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #72 le: 22 mai 2017 à 23:06:20 »
Pour moi c'est non...

Quelle décéption, c'est une techno cruciale coté serveur dans l'hébergement Web, c'est 70% (je sais pas si vous vous rendez compte de ce chiffre) du trafic sur un site ou il est activé. C'est franchement idiot de ne pas l'activer, Debian Stretch le propose, Nginx le propose... Ils vont perdre du terrain coté hébergement Web.

Pour les irréductibles, il reste "sudo add-apt-repository ppa:ondrej/apache2", ou c/c le mod depuis Debian :p


jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #73 le: 22 mai 2017 à 23:07:01 »
Osef du fait que ce soit, dixit la doc, experimental ?

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #74 le: 22 mai 2017 à 23:08:11 »
Si Debian l'a intégré dans Stretch, connaissant la rigueur de la team de validation, ouais, osef.

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #75 le: 22 mai 2017 à 23:11:49 »
Tu m'en vois interloqué, merci de l'info néanmoins

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #76 le: 23 mai 2017 à 08:44:18 »
Si Debian l'a intégré dans Stretch, connaissant la rigueur de la team de validation, ouais, osef.

Debian 9 Stretch devrait sortir en milieu d’année 2017, c'est un bon argument que tu devrais rajouter sur https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1658469

Ce serait le comble qu'une nouvelle fonctionnalité sortir en premier sur Debian stable et soit refusé par Ubuntu...

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #77 le: 19 juin 2017 à 08:48:27 »
Apache 2.4.26 va sortir dans quelques semaines...

Changes with Apache 2.4.26 : HTTP/2 support no longer tagged as "experimental" but is instead considered fully production ready.


La liste des modification http/2 entre Apache 2.4.25 et Apache 2.4.26 est impressionnante :
  • mod_http2: Fix for possible CPU busy loop introduced in v1.10.3 where a stream may keep the session in continuous check for state changes that never happen. [Stefan Eissing]
  • mod_http2: fail requests without ERROR log in case we need to read interim responses and see only garbage. This can happen if proxied servers send data where none should be, e.g. a body for a HEAD request. [Stefan Eissing]
  • mod_proxy_http2: adding support for Reverse Proxy Request headers. [Stefan Eissing]
  • mod_http2: fixed possible deadlock that could occur when connections were terminated early with ongoing streams. Fixed possible hanger with timeout on race when connection considers itself idle. [Stefan Eissing]
  • mod_http2: MaxKeepAliveRequests now limits the number of times a slave connection gets reused. [Stefan Eissing]
  • mod_proxy_http2: Fixed bug in re-attempting proxy requests after connection error. Reliability of reconnect handling improved. [Stefan Eissing]
  • mod_http2: better performance, eliminated need for nested locks and thread privates. Moving request setups from the main connection to the worker threads. Increase number of spare connections kept. [Stefan Eissing]
  • mod_http2: input buffering and dynamic flow windows for increased throughput. Requires nghttp2 >= v1.5.0 features. Announced at startup
    in mod_http2 INFO log as feature 'DWINS'. [Stefan Eissing]
  • mod_http2: h2 workers with improved scalability for better scheduling performance. There are H2MaxWorkers threads created at start and the number is kept constant for now. [Stefan Eissing]
  • mod_http2: obsoleted option H2SessionExtraFiles, will be ignored and just log a warning. [Stefan Eissing]
  • mod_http2: moving session cleanup to pre_close hook to avoid races with modules already shut down and slave connections still operating. [Stefan Eissing]
  • mod_proxy_http2: support for ProxyPreserverHost directive. [Stefan Eissing]
  • mod_http2: fix for crash when running out of memory. [Robert Swiecki <robert swiecki.net>, Stefan Eissing]
  • mod_http2: not counting file buckets again stream max buffer limits. Effectively transfering static files in one step from slave to master connection. [Stefan Eissing]
  • mod_http2: comforting ap_check_pipeline() on slave connections to facilitate reuse (see https://github.com/icing/mod_h2/issues/128).
    [Stefan Eissing, reported by Armin Abfalterer]
  • mod_http2: http/2 streams now with state handling/transitions as defined in RFC7540. Stream cleanup/connection shutdown reworked to become easier to understand/maintain/debug. Added many asserts on state and cleanup transitions. [Stefan Eissing]
  • mod_http2: regression fix on PR 59348, on graceful restart, ongoing streams are finished normally before the final GOAWAY is sent. [Stefan Eissing, <slavko gmail.com>]
  • mod_http2: fixes PR60599, sending proper response for conditional requests answered by mod_cache. [Jeff Wheelhouse, Stefan Eissing]
  • mod_http2: rework of stream resource cleanup to avoid a crash in a close of a lingering connection. Prohibit special file bucket beaming for shared buckets. Files sent in stream output now use the stream pool as read buffer, reducing memory footprint of connections. [Yann Ylavic, Stefan Eissing]
  • mod_http2: fix for possible page fault when stream is resumed during session shutdown. [sidney-j-r-m (github)]
  • mod_http2: fix for h2 session ignoring new responses while already open streams continue to have data available. [Stefan Eissing]
  • mod_http2: adding support for MergeTrailers directive. [Stefan Eissing]
  • mod_http2: limiting DATA frame sizes by TLS record sizes in use on the connection. Flushing outgoing frames earlier. [Stefan Eissing]
  • mod_http2: cleanup beamer registry on server reload.  PR 60510. [Pavel Mateja <pavel verotel.cz>, Stefan Eissing]
  • mod_http2: fixes https://github.com/icing/mod_h2/issues/126 e.g. beam bucket lifetime handling when data is sent over temporary pools. [Stefan Eissing]

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #78 le: 19 juin 2017 à 19:31:34 »
perso j'ai viré Apache & Nginx et je suis passé a Caddy: https://caddyserver.com/

en terme de simplicité et efficacité c'est remarquable. HTTP/2 et gestion completement auto de letsencrypt.

un exemple de config (Caddyfile)
https://mondomain.com, http://mondomain.com {
    root /www/mondomain.com
    log /logs/mondomain.com.log
    gzip
    tls me@email.com
}

on lance "caddy" sans paramètre, dans le répertoire du Caddyfile, c'est un exécutable unique (16 Mo environ) sans aucune dépendance de fichier/lib externe.
et c'est tout. il s'occupe de recup des certifs chez LetsEncrypt en utilisant le parametre tls comme email.
et on se retrouve avec un serveur web en http/2 

En bonus on a QUIC si on veut, il suffit juste de passer l'option "-quic".

en plus c'est multi-plateforme car en Go:


donc on peut le mettre dans son routeur ou son Pi. suffit de copier un fichier binaire et les pages du site web. plus simple c'est pas possible.

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #79 le: 19 juin 2017 à 21:17:13 »
Le point le plus intéressant est qu'il intègre de façon expérimental QUIC (Quick UDP Internet Connections, pronounced quick), utilisé par Google et quelques autres grands acteurs.

Ni Apache, ni Nginx n'ont ce support même en expérimental.

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #80 le: 23 juin 2017 à 09:08:08 »
http/2 sur Apache sera bien supporté par les prochaines versions d'Ubuntu.
=> https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1658469

J'ai par contre du mal à saisir le lien entre MIR (Mir est un serveur d'affichage développé par Canonical pour les objets connectés) et HTTP/2 dans cette réponse :

Yes, after discussing with others, this (nghttp2) will need to be reviewed for MIR (bug # 1687454) but has been uploaded for Artful.

It will probably not be backported to 16.04 or other releases without further review (as the version declaring HTTP/2 stability is 2.4.26 which is not the version in 16.04, etc.)

mirtouf

  • Abonné Bbox fibre
  • *
  • Messages: 1 297
  • Chelles (77)
    • L'antre de la bête
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #81 le: 23 juin 2017 à 10:26:21 »
MIR = Main Inclusion Requirement
L'équipe dédiée: https://launchpad.net/~ubuntu-mir

TroniQ89

  • @TroniQ89
  • Abonné Free adsl
  • *
  • Messages: 743
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #82 le: 23 juin 2017 à 12:37:19 »
perso j'ai viré Apache & Nginx et je suis passé a Caddy: https://caddyserver.com/

en terme de simplicité et efficacité c'est remarquable. HTTP/2 et gestion completement auto de letsencrypt.

un exemple de config (Caddyfile)
https://mondomain.com, http://mondomain.com {
    root /www/mondomain.com
    log /logs/mondomain.com.log
    gzip
    tls me@email.com
}

on lance "caddy" sans paramètre, dans le répertoire du Caddyfile, c'est un exécutable unique (16 Mo environ) sans aucune dépendance de fichier/lib externe.
et c'est tout. il s'occupe de recup des certifs chez LetsEncrypt en utilisant le parametre tls comme email.
et on se retrouve avec un serveur web en http/2 

En bonus on a QUIC si on veut, il suffit juste de passer l'option "-quic".

en plus c'est multi-plateforme car en Go:


donc on peut le mettre dans son routeur ou son Pi. suffit de copier un fichier binaire et les pages du site web. plus simple c'est pas possible.

Je connaissais déjà Caddy pour son support de QUIC, mais je l'avais un peu oublié... ^^
Merci du rappel, il faudrait que je tente ! :)

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
http/2: Mécanisme de négociation http2 vs http1.1 dans un GET https
« Réponse #83 le: 20 septembre 2017 à 08:40:43 »
On est en période de freeze pour Ubuntu 17.10 - il sort le 19 octobre - et cela a failli coûter la peau du mode HTTP/2, malgré mes relances avant le freeze.

Finalement, cette nuit, Nish Aravamudan de Canonical est intervenu pour justifier une exception au freeze et donner le go pour mettre le mod Http/2 dans Apache qui sera intégré dans Ubuntu 17.10 qui sot dans moins d'un mois : https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1658469

Feature Freeze justification (multiple):

1) This is an entirely new, opt-in feature, currently not available to users. They would need to enable said feature i order to use it.

2) We intend to examine SRU of this feature to 16.04 (and thus would also need to SRU to 17.10 if we wait until 18.04 to do it.) The change is coming either way

3) We want to maximize the exposure/testing of HTTP/2 before 18.04 releases; having it in 17.10 will assist with that.

4) From a practical perspective, this reduces our delta to Debian.