Beh, come con la maggior parte delle cose nei computer, sono un sacco di concetti relativamente semplici cuciti insieme. Per comprenderlo abbastanza profondamente (ma non in profondità EE, dato che io non ci vado), potresti iniziare imparando questi concetti di rete:
-
TCP / IP - poiché è così che i vari giocatori si parleranno l'un l'altro; potresti anche imparare Ethernet - dal momento che probabilmente sei su una rete Ethernet, ma questo cadrà ulteriormente nel mondo EE. Il modello OSI può essere un utile primer se non lo conosci già.
-
DNS - poiché è il modo in cui l'utente digita viene tradotto in indirizzi IP per le chiamate TCP / IP. In modo abbastanza circolare, è implementato anche in IP, motivo per cui è il secondo. È il livello dell'applicazione nel modello OSI.
-
HTTP - poiché è il livello applicazione (c'è di nuovo quel modello OSI) che verrà utilizzato tra il client e il server web.
- Variazioni e standard HTTP, per i problemi del server proxy e degli hacker
Per cose come queste (standard generali di Internet), le RFC attuali sono d'oro. Possono essere asciutti, possono essere vaghi e non possono riflettere il 100% dei prodotti di spedizione, ma sono la migliore risorsa tecnica generale IMO.
Come al solito, Wikipedia è una grande risorsa di primo livello anche per tutto questo . Ti racconterà le nozioni di base e in generale ti collegheranno alle RFC corrette (le RFC hanno l'abitudine di essere aggiornate, sostituite, non implementate, ecc. Quindi le ricerche di Google veloci che ho fatto potrebbero non essere corrette).
Il lato del sistema operativo è un po 'più difficile. Dal momento che non è uno "standard", non c'è alcun riferimento pubblicato a nessuno di questi. E, ancora meglio, sistemi operativi diversi faranno le cose in modo leggermente diverso. Sono principalmente un ragazzo di Windows - imparo questo tipo di materiale dai blog; Mark Russinovich e Raymond Chen sono i 2 migliori ragazzi che conosco per darti questa roba seriamente tecnica.
- Esecuzione del SO: terribilmente complicato, potresti passare anni su questo argomento. Ai fini delle app Web, è probabilmente sufficiente conoscere le nozioni di base dei modelli di memoria e forse un un po 'di linguaggio assembly per capire come il server web e il browser svolgeranno il loro lavoro.
- Scegli un server web e il suo modello di elaborazione. Sono un ragazzo di Windows, quindi ecco IIS. Dal ogni web server avrà un modello di estensione, è probabile che ciò che sta accadendo dopo la richiesta iniziale sia che è passato a un altro programma. Pertanto, avrai il trasferimento della richiesta, e poi puoi tuffarti nel modello di elaborazione degli interni . Alla fine della giornata, riempiranno tutto il buffer di una stringa di codice HTML da inviare via HTTP al client.
A proposito di HTML, ora devi conoscere le regole per questo ( e CSS ) in modo da sapere cosa fa il browser per analizzarlo in elementi visivi. Oh - e visto che tutto questo appare in un programma GUI, ora puoi iniziare la strada di loop di messaggi e gestione dell'input . Non finisce mai veramente - una delle più grandi (e peggiori) cose su questa professione.