Logo journal du hacker middle
  1. 4
  1.  

  2. 1

    C’est une bonne initiative.

    Maintenant, il faut relativiser. Que cela ne fut pas fait plutôt par l’auteur même du serveur, ça craint un tant soit peu. Sur ce coup, httpd est “arriéré” ; aujourd’hui le support des formats compressés est généralisé. Le faire QUE pour gzip, sans oublier le support de “deflate”, même si c’est très bien, a peu de sens. Il faut aller plus loin dans la démarche, et bien supporter des formats actuels, comme brotli, webp, avif, etc… Et, là, httpd est encore à la traîne.

    Quoiqu’il en soit, ne plus avoir à se servir d’un serveur CGI en sus, pour cela, c’est quand même une bonne chose !

    Voilà.

    PS : Merci à toi. :D Mais bon, perso, je préfère toujours… nginx

    1. 1

      À la lecture de ton message, quelques remarques me viennent :

      • L’auteur original de httpd a refusé la compression dynamique (à la volée), et à juste titre en terme de sécurité. Il semble se consacrer à autre chose actuellement, mais il a laissé un serveur http robuste, fonctionnel et simple. Tellement simple que même moi j’ai pu y ajouter une fonctionnalité.
      • Tu évoques “deflate” et reproche ensuite à httpd d’être à la traine ?
      • brotli : je me doutais que tu ferais cette remarque XD. À vrai, dire, si tu regardes le code, c’est assez simple à ajouter. C’est dans ma todo-list, mais j’aimerais déjà savoir si l’équipe veut bien de ce genre de choses. étape par étape.
      • webp, avif : tu peux tout à fait en servir avec httpd. Du coup je ne dois pas comprendre le propos.

      ps : nginx était excellent. C’est devenu d’une complexité navrante.

      1. 1

        Bien que le sujet ne soit pas nginx, je ne vois vraiment pas en quoi il est d’une complexité navrante ! Il est aisé d’avoir une configuration fonctionnelle, correcte et utile.

        Je pense ne pas être le seul à affirmer la “supériorité” de nginx, sa simplicité de configuration, ses “qualités”. Te connaissant, c’est plutôt le nombre de fonctionnalités qui te rebutent, non ?! À préférer l’un de l’autre, je n’hésite même pas à choisir nginx, qui supportent nativement bien des fonctionnalités utiles. Tu es dans le “minimalisme fonctionnel”, choix que je n’apprécie pas personnellement et que je ne plébisciterai pas. httpd en est un exemple.

        Bref…

        PS : je sais pertinemment qu’on ne sera pas du même avis, et que le mien a tendance à être “dissident”, si je puis me permettre l’expression.

        1. 1

          je ne vois vraiment pas en quoi il est d’une complexité navrante

          $ cd /usr/src/usr.sbin/httpd
          $ cloc *
                22 text files.
          classified 19 files
                19 unique files.                              
                 6 files ignored.
          
          github.com/AlDanial/cloc v 1.90  T=0.13 s (122.9 files/s, 101376.0 lines/s)
          -------------------------------------------------------------------------------
          Language                     files          blank        comment           code
          -------------------------------------------------------------------------------
          C                               11           1390            706           7424
          yacc                             1            276             67           2169
          C/C++ Header                     3            133             86            921
          make                             1              4              2             16
          -------------------------------------------------------------------------------
          SUM:                            16           1803            861          10530
          -------------------------------------------------------------------------------
          
          $ cd src/nginx
          $ cloc *
               100 files
               200 files
               300 files
               400 files
               452 text files.
          classified 449 files
          Duplicate file check 449 files (443 known unique)
          Unique:      100 files                                          
          Unique:      200 files                                          
          Unique:      300 files                                          
          Unique:      400 files                                          
               449 unique files.                              
          Counting:  100
          Counting:  200
          Counting:  300
          Counting:  400
                86 files ignored.
          
          github.com/AlDanial/cloc v 1.90  T=1.97 s (186.3 files/s, 120252.4 lines/s)
          -----------------------------------------------------------------------------------
          Language                         files          blank        comment           code
          -----------------------------------------------------------------------------------
          C                                  230          47921           5037         136723
          XML                                  2           3902             14          25297
          C/C++ Header                       113           4312            955           8709
          vim script                           4            150            259           2057
          Perl                                 4             71             51            159
          make                                 2             55              2            138
          SKILL                                3             24              0             99
          XSLT                                 1             39              0             89
          Bourne Shell                         1             33              3             84
          HTML                                 2              2              0             40
          DTD                                  2             14              0             30
          C++                                  1              9              3             19
          Windows Resource File                1              3              2              1
          -----------------------------------------------------------------------------------
          SUM:                               366          56535           6326         173445
          -----------------------------------------------------------------------------------
          

          Voilà

          1. 1

            Et, c’est sensé démontré quoi ? Que nginx comporte plus de fichiers embarqués. Qu’il semble être accessible à certains langages, et encore est-ce que c’est bien ce que cela signifie ? C’est certes une démonstration… mais pour l’heure incompréhensible !

            Ce serait vraiment plus intéressant de démontrer les qualités, voire les défauts, les fonctionnalités supportées…

            En quoi c’est navrant ? En quoi cela fait de lui qu’il est moins génial qu’avant, selon ce que tu affirmes ?

            1. 1
              • de code = + de risques de voir une faille apparaitre.
              • de code = + de difficultés à maintenir.

              Je dis juste que nginx, ce n’est plus simple. Pas qu’il est mauvais. Apache n’est pas mauvais. Les 2 sont complexes. et de la complexité naît souvent les complications.

              1. 1

                Je comprends ton raisonnement. Mais ne le partage pas ; la soit-disante “complexité” du code que tu lui octroies est différent de l’usage. Et, concernant l’usage : nginx est simple, et souvent bien plus pertinent qu’httpd d’OpenBSD.

                httpd est pratique, certes dit sécurisé, léger, embarqué d’office, mais ne tient pas la charge face à nginx, ni n’a les qualités de nginx. C’est du “fonctionnel minimaliste”. Il m’est d’avis que fournir un logiciel aux fonctionnalités minimalistes, surtout au prix de la sécurité du code, doit être en effet plus léger qu’un logiciel offrant différentes fonctionnalités, permettant celles basiques dont par exemple la gestion des entêtes HTTP, mais aussi d’autres avancées, dont tu ne “rêveras” jamais ni avec httpd+relayd, alors que c’est natif à nginx (proxy, haute disponibilité, …). Et tout aussi facilement configurable.

                Après nginx est assez modulaire, pour ne pas avoir besoin de certaines fonctions, si pas nécessaires.

                Pour terminer, c’est quand même toi qui as écrit :

                nginx était excellent

                Perso, j’affirme que nginx est toujours excellent, et le préfère d’amblé à httpd.