Files
42_INT_12_webserv/memo.txt
2022-08-14 17:53:29 +02:00

40 lines
1.8 KiB
Plaintext

IN 42 SUBJECT AND/OR PRIORITY :
- CGI (TODO HUGO)
- chunked request (need testing)
- Need to test normal body parsing
- upload files testing and adjustements
- https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
Config en Ko (value * 2^10) serait plus commode que en octet
Et 0 valeur special pour desactiver
- Ecrire des tests !
- handle redirection (Work, but weird behavior need deeper test)
- check return 0 de send()
- curl --resolve, for testing hostname
- test limit de connexions sur listen()
-----------------------------
Si ce n'est pas deja fait :
- dans config, check erreur si port > 16bits
(peut-être check si ip > 32bits)
-----------------------------
- gerer le champ "Accept" du client
- gerer les ".." dans un URL (verifier que l'on ne sort pas du dossier "root")
- do correct handling of special character in url (/rfc2119_files/errata.js.t%C3%A9l%C3%A9chargement -> /rfc2119_files/errata.js.téléchargement)
- 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.
- 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.