10. Servere web¶
Capitolele despre rețelistică au pus camera în rețea și i-au oferit socketuri prin care să comunice (Rețelistică). Și acum? Majoritatea aplicațiilor de cameră se reduc la două lucruri – expune lumii ceea ce vede camera și reacționează la ceea ce spun celelalte lucruri din rețea. HTTP este modul în care are loc această conversație și funcționează în ambele direcții:
Ca server, camera răspunde la cererile de la telefoane, browsere și alte dispozitive din rețea. Frameworkul
microdoteste serverul camerei.Ca client, camera contactează servicii cloud pentru a încărca, a prelua sau a coordona. Modulul
requestseste clientul camerei.
De-a lungul următoarelor 14 capitole vom construi o singură aplicație de cameră funcțională care exersează ambele.
O cameră de curte cu declanșare la mișcare stă pe un stâlp în curte, vede ce se întâmplă și îi spune proprietarului despre orice este interesant. Vom face camera să crească de la un server cu o singură rută de tip „sunt în viață” într-un produs livrabil: previzualizare live pe telefonul proprietarului, un dashboard cu un slider de prag și un jurnal de evenimente, notificări push când se declanșează mișcarea, autentificare, HTTPS și o arhivă cloud a fiecărui cadru declanșat.
Fiecare capitol adaugă o singură funcționalitate. Mostrele de cod presupun că capitolele anterioare sunt la locul lor – nu re-lipim întregul script de fiecare dată.
- 10.1. Primul tău endpoint
- 10.2. Returnarea unui instantaneu
- 10.3. Streaming live – un singur spectator
- 10.4. Partajarea unei singure bucle de captare între spectatori
- 10.5. Un API de control pentru cameră
- 10.6. Construirea tabloului de bord
- 10.7. Trimiterea evenimentelor către tabloul de bord
- 10.8. Control bidirecțional cu WebSockets
- 10.9. Autentificare pentru clienții programatici
- 10.10. Autentificare pentru tabloul de bord
- 10.11. HTTPS – criptarea transportului pentru server
- 10.12. CORS și CSRF
- 10.13. Încărcarea cadrelor declanșate în cloud
- 10.14. Încheiere