10. Webbservrar¶
Nätverkskapitlen fick kameran på nätverket och gav den sockets att kommunicera genom (Nätverk). Vad nu? De flesta kameraapplikationer kokar ner till två saker – exponera vad kameran ser för världen och reagera på vad andra saker på nätverket säger. HTTP är hur den konversationen sker, och det fungerar i båda riktningarna:
Som server svarar kameran på begäranden från telefoner, webbläsare och andra enheter på nätverket. Ramverket
microdotär kamerans server.Som klient når kameran ut till molntjänster för att ladda upp, hämta eller koordinera. Modulen
requestsär kamerans klient.
Under de kommande 14 kapitlen bygger vi en körande kameraapplikation som tränar båda.
En rörelseutlöst bakgårdskamera sitter på en stolpe på gården, ser vad som pågår och berättar för ägaren om allt intressant. Vi låter kameran växa från en ”jag lever”-server med en enda rutt till något levererbart: liveförhandsvisning till ägarens telefon, en instrumentpanel med ett tröskelvärdesreglage och en händelselogg, push-notiser när rörelse utlöses, inloggning, HTTPS och ett molnarkiv över varje utlöst bildruta.
Varje kapitel lägger till en funktion. Kodexempel förutsätter att de tidigare kapitlen är på plats – vi klistrar inte in hela skriptet på nytt varje gång.
- 10.1. Din första endpoint
- 10.2. Returnera en stillbild
- 10.3. Livestreaming – en tittare
- 10.4. Att dela en fångstloop mellan tittare
- 10.5. Ett styr-API för kameran
- 10.6. Bygga instrumentpanelen
- 10.7. Skicka händelser till instrumentpanelen
- 10.8. Tvåvägsstyrning med WebSockets
- 10.9. Autentisering för programmatiska klienter
- 10.10. Inloggning för instrumentpanelen
- 10.11. HTTPS – transportkryptering för servern
- 10.12. CORS och CSRF
- 10.13. Ladda upp utlösta bildrutor till molnet
- 10.14. Sammanfattning