21 lines
1.3 KiB
Plaintext
21 lines
1.3 KiB
Plaintext
|
|
- do correct handling of special character in url (/rfc2119_files/errata.js.t%C3%A9l%C3%A9chargement -> /rfc2119_files/errata.js.téléchargement)
|
|
- handle redirection
|
|
- maybe add a "last_action_time" in Client for timeout handling
|
|
little global timeout on epoll, like 100ms, then find client that actualy need to timeout
|
|
if (actual_time - client.last_action_time > 10000ms){timeout(client)}
|
|
- add headers "Date" and "Last-Modified" to response
|
|
- change "std::string" to reference "std::string &" in most functions
|
|
and add "const" if apropriate.
|
|
- http_method en mode binary flags. "std::vector<http_method> allow_methods" -> "unsigned int allow_methods;"
|
|
- Dans le parsing, trier les "locations" par ordre de precision.
|
|
Compter les "/" dans le chemin, les locations avec le plus de "/" seront en premier dans le vector.
|
|
- Il faut vérifier le path de la requête, voir si le serveur est bien censé délivrer cette ressource et si le client y a accès, avant d'appeler le CGI.
|
|
|
|
|
|
__________________________
|
|
--------------------------
|
|
|
|
----Discord 42------------
|
|
Un truc cool et surtout bien utile ici c'est d'utiliser un proxy entre ton navigateur et ton serveur pour vérifier ce qui est envoyé en raw. Les navigateurs peuvent avoir des comportements différents.
|
|
Vous avez des modules sur vos navigateur ou des logiciels externe. C'est assez rapide et gratuit. |