Ga naar hoofdinhoud

Wat er gebeurt bij één formulier

Een formulier volgt hetzelfde patroon als één klik, maar eindigt anders: niet met een pagina, maar met een omleiding.

Een formulier versturen
  1. Browser: Je vult het formulier in. De browser controleert required en maxlength — meer niet. · Server of browser?

  2. Browser: De browser stuurt een POST. De ingevulde velden gaan mee in het verzoek, niet in de URL. · Eigen POST request

  3. Server: FastAPI pakt de velden uit. Elke naam uit je formulier wordt een Form-parameter van je functie. · Eigen POST request

  4. Server: Jouw Python slaat op. Controleer hier wat je van de browser hebt gekregen, en bewaar het. · POST naar database

  5. Server: Het antwoord is een omleiding. Geen pagina, maar een opdracht: ga naar /berichten. Met status 303. · Terug naar de lijst

  6. Browser: De browser begint opnieuw. Nu met een GET naar /berichten — en het verhaal hierboven start.

De laatste stap start het diagram van één klik opnieuw. Dat is het post/redirect/get-patroon uit Terug naar de lijst: versturen en tonen zijn twee losse verzoeken, zodat F5 de pagina herlaadt in plaats van je bericht nog een keer op te sturen.

Stap 1 gebeurt in de browser, en die is van de bezoeker. Wat een bezoeker instuurt controleer je daarom in stap 4, in je endpoint, en nooit alleen in de HTML. Waarom dat zo is, komt in Server of browser?.