Odpovídáte na názor ke článku Routování? Ano, ale jinak.
Jen jsem si to přečetl, abych se podíval, jak se to dělá jinde. Já mám v C++ napsaný server, kde zaregistruju cestu-prefix a handler. Když se objeví v URL cesta, která prefixu handleru, zavolá se handler, ten dostane zbytek cesty. Pokud ji nechce (prozkoumá request a zjistí, že ho nechce), pak to ukončí a server najde nějaký kratší prefix, který na cestu sedí, pokud k němu má handler. A pokud nic nenajde, vrátí 404. Pokud najde prefix, ale nesedí metoda, tak postupuje stejně a pokud neuspěje, vrátí 405 a v Allow seznam metod, které cestou minul.
Celé je to docela rychlé, protože se tam používá hash tabulka prefixů. Ta má lookup O(1) - proto mne zarazilo, že v jiných systémech záleží na počtu cest.
Routování lze zapojit i kaskádně, tedy samotný handler může nechat request dál routovat podle jiné tabulky, ale málokdy to je potřeba.
Kdybych měl fungovat jako třeba PHP, kdy každý script jede od nuly, tak si snad nechám někde vygenerovat statickou tabulku rout, která se prostě jen načte a použije. Ale jeden z důvodů (řekl bych ten nejzásadnější), proč nepoužívám PHP je právě tahle vlastnost.
Přečteno 21 849×
Přečteno 19 819×
Přečteno 18 836×
Přečteno 18 551×
Přečteno 17 432×