Inloggen
Inloggen

HTTP-verzoeken begrijpen: structuur, methoden en voorbeelden

HTTP-verzoeken begrijpen: structuur, methoden en voorbeelden
Hostman Team
Technical writer
Programmeertaal Python Netzwerk
10.12.2025
Reading time: 6 min

HTTP is de sleutel tot communicatie op het internet. Methoden van het HTTP-protocol stellen clients in staat verzoeken naar servers te sturen en servers om antwoorden terug te sturen. Elke website op het World Wide Web gebruikt HTTP-requests. Daarom is het essentieel om ze te begrijpen. Dit artikel behandelt het concept van HTTP-requests, hun structuur, veelgebruikte methoden en voorbeelden uit de praktijk. Dit helpt om te begrijpen hoe het web functioneert.

Wat is een HTTP-request?

Een HTTP-request is een bericht waarin een client – zoals een webbrowser – de host op de server om een specifieke resource vraagt. Clients gebruiken URL’s in HTTP-requests om aan te geven welke resources ze van de server willen opvragen.

Componenten van een HTTP-request

Elke HTTP-request bestaat uit drie hoofdcomponenten:

  • Request line

  • Headers

  • Message body

Request Line

De request line is de eerste regel van een HTTP-request. Deze initialiseert een actie op de server. De request line geeft aan welke HTTP-methode en HTTP-versie de client gebruikt. Naast de methode bevat de request line een URI of URL.

Voorbeeld van een request line:

GET /index.html HTTP/1.1

Headers

De headers volgen direct na de request line. Ze geven extra informatie van de client aan de server. Headers bevatten o.a. informatie over de host, de user agent, taalvoorkeuren en meer. De server gebruikt deze gegevens om de browser en het besturingssysteem van de client te identificeren. HTTP-headers zijn hoofdlettergevoelig, gevolgd door een dubbele punt en een waarde.

Voorbeeld van HTTP-request headers:

Host: example.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36

Accept: application/json, text/plain, */*

Accept-Language: en-US,en;q=0.9

Accept-Encoding: gzip, deflate, br

Connection: keep-alive

Message Body

Het message body-gedeelte wordt gebruikt om data naar de server te sturen. Het is optioneel: niet elke HTTP-request bevat een body. Of een body wordt gebruikt, hangt af van de HTTP-methode. Requests die een body bevatten gebruiken meestal POST, bijvoorbeeld om formulierdata te versturen. De server verwerkt deze data verder.

Veelgebruikte HTTP-methoden

Een HTTP-request verbindt de client met de server. Redenen hiervoor kunnen zijn:

  • een resource opvragen

  • nieuwe data versturen

  • bestaande data wijzigen

  • data verwijderen

Hieronder de belangrijkste en meest gebruikte methoden:

4.1 GET – Resources ophalen

De meest gebruikte HTTP-methode is GET, waarmee de server om specifieke data wordt gevraagd. Elke keer dat een gebruiker een webpagina opent, stuurt de browser een GET-request om de benodigde content op te halen.

Eigenschappen van GET:

  • cacheable

  • safe

  • idempotent

GET kan alleen bestaande data ophalen — het verandert niets aan de server.

POST – Data versturen

Wanneer een client data naar de server moet sturen (bijv. formulieren, uploads), wordt POST gebruikt.

De body bevat de verzonden gegevens. Meerdere POST-requests kunnen meerdere nieuwe resources creëren.

PUT – Resources bijwerken

PUT lijkt op POST, maar:

  • POST = nieuwe data creëren

  • PUT = bestaande data vervangen

De client moet de volledige nieuwe versie van de resource meesturen. PUT is idempotent – dezelfde request meerdere keren uitvoeren levert hetzelfde resultaat op.

DELETE – Resources verwijderen

DELETE laat de server weten dat een bepaalde resource moet worden verwijderd.

Als het verwijderen is gelukt, stuurt de server een bevestiging terug. DELETE is eveneens idempotent.

Wat is een HTTP-response?

Wanneer de server een antwoord terugstuurt op een HTTP-request, heet dat een HTTP-response. Net als een request bestaat deze uit drie delen:

  • Status line

  • Headers

  • Message body

Status Line

Deze bevat:

  • HTTP-versie

  • Statuscode

  • Statusbericht

Headers

Response headers bevatten extra informatie zoals:

  • datum en tijd

  • content-type

  • serverdetails

  • cache-instructies

Body

De body bevat de daadwerkelijke gegevens die naar de client worden teruggestuurd, zoals:

  • HTML

  • JSON

  • XML

  • afbeeldingen

  • bestanden

Statuscodes en hun betekenis

HTTP-statuscodes geven aan hoe de server de aanvraag heeft verwerkt. Ze bestaan uit drie cijfers, waarbij het eerste cijfer de categorie bepaalt:

Codegroep

Beschrijving

1xx

Informatief – verwerking gaat door

2xx

Succes – verzoek correct verwerkt

3xx

Redirect – extra acties vereist

4xx

Clientfout – probleem aan clientzijde

5xx

Serverfout – probleem aan serverzijde

HTTP-headers en hun belang

Headers bevatten cruciale informatie voor de communicatie tussen client en server. Ze zijn essentieel voor webfunctionaliteit.

Host-identificatie

Headers geven aan welk domein door de server wordt gehost.

Caching

Expires en Cache-Control bepalen hoe lang content wordt opgeslagen.

Cookiebeheer

Headers zoals Set-Cookie en Cookie houden gebruikerssessies bij.

Beveiliging

Headers zoals Authorization en Content-Security-Policy beschermen webapplicaties.

Response-controle

Headers geven aan of een request succesvol was of niet.

Praktische voorbeelden van HTTP-requests

De voorbeelden hieronder gebruiken Python en de requests-bibliotheek.

GET

import requests

response = requests.get("https://api.example.com/data",

                        params={"param1": "value1", "param2": "value2"})

print(response.status_code)

print(response.json())

POST

import requests

url = "https://api.example.com/users"

data = {

    "username": "newuser",

    "email": "newuser@example.com",

    "password": "securepassword"

}

response = requests.post(url, json=data)

if response.status_code == 201:

    print("User created successfully:", response.json())

else:

    print("Error:", response.status_code, response.text)

PUT

import requests

url = "https://api.example.com/users/123"

data = {

    "username": "updateduser",

    "email": "updateduser@example.com"

}

response = requests.put(url, json=data)

if response.status_code == 200:

    print("User updated successfully:", response.json())

else:

    print("Error:", response.status_code, response.text)

DELETE

import requests

url = "https://api.example.com/users/123"

response = requests.delete(url)

if response.status_code == 204:

    print("User deleted successfully.")

else:

    print("Error:", response.status_code, response.text)

Conclusie

HTTP-requests spelen een cruciale rol bij webinteracties. Daarom is het belangrijk om de verschillende methoden te kennen en te begrijpen hoe ze werken. Het kiezen van de juiste methode zorgt voor efficiënte communicatie tussen client en server en verbetert de prestaties van webapplicaties.

Programmeertaal Python Netzwerk
10.12.2025
Reading time: 6 min

Vergelijkbaar

Programmeertaal Python

Hoe je de lengte van een lijst in Python bepaalt

Lijsten worden in Python bijna overal gebruikt. In deze tutorial bekijken we vier manieren om de lengte van een Python‑lijst te bepalen: met ingebouwde functies, recursie en een lus. De lengte van een lijst kennen is vaak nodig om erover te itereren en verschillende bewerkingen uit te voeren. Functie len() len() is een ingebouwde Python‑functie om de lengte van een lijst te bepalen. De functie accepteert één argument — de lijst zelf — en retourneert een geheel getal dat gelijk is aan de lengte van de lijst. Dezelfde functie werkt ook met andere iterabele objecten, zoals strings. Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"] count = len(Country_list) print("There are", count, "countries") Output: There are 4 countries De lengte van een lijst bepalen met een lus Je kunt de lengte van een lijst in Python bepalen met een for-lus. Het idee is om de hele lijst te doorlopen en bij elke iteratie een teller met 1 te verhogen. Laten we dit in een aparte functie onderbrengen: def list_length(list): counter = 0 for i in list: counter = counter + 1 return counter Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"] count = list_length(Country_list) print("There are", count, "countries") Output: There are 5 countries De lengte van een lijst bepalen met recursie Dezelfde taak kan worden opgelost met recursie: def list_length_recursive(list): if not list: return 0 return 1 + list_length_recursive(list[1:]) Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"] count = list_length_recursive(Country_list) print("There are", count, "countries") Output: There are 6 countries Hoe het werkt. De functie list_length_recursive() ontvangt een lijst als invoer. Als de lijst leeg is, retourneert ze 0 — de lengte van een lege lijst. Anders roept ze zichzelf recursief aan met het argument list[1:], een slice van de originele lijst die begint bij index 1 (dus de lijst zonder het element op index 0). Het resultaat van die aanroep wordt opgeteld bij 1. Bij elke recursieve stap groeit de geretourneerde waarde met één terwijl de lijst met één element krimpt. Functie length_hint() De functie length_hint() bevindt zich in de module operator. Die module bevat functies die overeenkomen met interne Python-operatoren: optellen, aftrekken, vergelijken enzovoort. length_hint() retourneert de lengte van iterabele objecten zoals strings, tuples, dictionaries en lijsten. Ze werkt vergelijkbaar met len(): from operator import length_hint Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"] count = length_hint(Country_list) print("There are", count, "countries") Output: There are 7 countries Let op dat length_hint() moet worden geïmporteerd voordat je deze gebruikt. Conclusie In deze gids hebben we vier manieren besproken om de lengte van een lijst in Python te bepalen. Onder gelijke omstandigheden is de meest efficiënte methode len(). De andere benaderingen zijn vooral zinvol wanneer je aangepaste klassen implementeert die lijken op een lijst.
04 December 2025 · 3 min to read
Programmeertaal Python

Command-line opties en argumenten verwerking met argparse in Python

Command-line interfaces (CLI’s) behoren tot de snelste en meest doeltreffende manieren om met software te communiceren. Ze stellen je in staat om opdrachten direct uit te voeren, wat leidt tot snellere uitvoering en uitgebreidere functionaliteit. Ontwikkelaars bouwen vaak CLI’s in Python voor diverse applicaties, tools en automatiseringsscripts, zodat gebruikersinvoer dynamisch kan worden verwerkt. Daarbij komt het Python-module argparse goed van pas. Het argparse-module vereenvoudigt het verwerken van command-line-invoer en stelt ontwikkelaars in staat interactieve en gebruiksvriendelijke tools te bouwen. Als onderdeel van de standaardbibliotheek kunnen programmeurs hiermee invoer definiëren, verwerken en valideren zonder ingewikkelde logica. In dit artikel bespreken we de belangrijkste concepten, nuttige voorbeelden en geavanceerde functies van het argparse-module, zodat je meteen kunt beginnen met het bouwen van betrouwbare command-line tools. Hoe argparse in Python te gebruiken voor CLI’s Stap 1: Module importeren Importeer het module in je Python-script: import argparse Dit maakt het mogelijk om argumenten vanuit de command line te verwerken. Stap 2: Een ArgumentParser-object aanmaken De klasse ArgumentParser is de basis van de argparse-API. Maak een instantie aan: parser = argparse.ArgumentParser(description="A Hostman tutorial on Python argparse.") Hier: description beschrijft wat het programma doet en wordt weergegeven wanneer iemand --help uitvoert. Stap 3: Inputs en opties toevoegen Definieer de parameters die je programma accepteert via add_argument(): parser.add_argument('filename', type=str, help="Name of the file to process") parser.add_argument('--verbose', action='store_true', help="Enable verbose mode") Toelichting: filename is verplicht. --verbose is optioneel en schakelt de verbose-modus in. Stap 4: Gebruikersinvoer verwerken Start de verwerkingsfase met: args = parser.parse_args() De waarden worden opgeslagen als attributen van het args-object. Stap 5: Verwerkte data gebruiken Voorbeeld: print(f"File to process: {args.filename}") if args.verbose:     print("Verbose mode enabled") else:     print("Verbose mode disabled") Voorbeelden van CLI-gebruik Zonder verbose-modus python3 file.py example.txt Met verbose-modus python3 file.py example.txt --verbose Help weergeven python3 file.py --help Veelgebruikte argparse-voorbeelden Voorbeeld 1: Standaardwaarden toevoegen Optionele parameters kunnen een standaardwaarde krijgen. In dit voorbeeld wordt een standaard-timeout van 30 seconden ingesteld: import argparse parser = argparse.ArgumentParser(description="Demonstrating default argument values.") parser.add_argument('--timeout', type=int, default=30, help="Timeout in seconds (default: 30)") args = parser.parse_args() print(f"Timeout value: {args.timeout} seconds") Uitleg argparse importeren Parser initialiseren --timeout toevoegen met type=int en default=30 Waarden parsen met parse_args() Case 1: standaardwaarde python file.py Case 2: aangepaste waarde python file.py --timeout 60 Voorbeeld 2: Gebruik van choices Met choices kun je een argument beperken tot een vooraf vastgestelde set geldige waarden: parser.add_argument('--mode', choices=['basic', 'advanced'], help="Choose the mode of operation") Case 1: geldig python3 file.py --mode basic Case 2: geen invoer python3 file.py Case 3: ongeldig python3 file.py --mode intermediate Voorbeeld 3: Meerdere waarden verwerken Gebruik nargs='+' om meerdere waarden te accepteren: parser.add_argument('--numbers', nargs='+', type=int, help="List of numbers to process") Case 1: meerdere waarden python3 file.py --numbers 10 20 30 Case 2: één waarde python3 file.py --numbers 5 Case 3: geen invoer python3 file.py Case 4: ongeldig python3 file.py --numbers 10 abc 20 Voorbeeld 4: Vereiste optionele argumenten Optionele argumenten (met --) zijn standaard niet verplicht. Met required=True kun je dat wijzigen: parser.add_argument('--config', required=True, help="Path to the configuration file") Case 1: geldig python3 file.py --config settings.json Case 2: ontbreekt python3 file.py Geavanceerde functies van argparse Boolean flags parser.add_argument('--debug', action='store_true', help="Enable debugging mode") Argumentgroepen group = parser.add_argument_group('File Operations') group.add_argument('--input', type=str, help="Input file") group.add_argument('--output', type=str, help="Output file") Mutually exclusive options group = parser.add_mutually_exclusive_group() group.add_argument('--json', action='store_true', help="Output in JSON format") group.add_argument('--xml', action='store_true', help="Output in XML format") Conclusie Het argparse-module maakt het eenvoudig om betrouwbare CLI’s te bouwen voor het verwerken van command-line argumenten in Python. Van eenvoudige parameters tot geavanceerde opties zoals choices en nargs, ontwikkelaars kunnen robuuste en gebruiksvriendelijke tools schrijven. Het gebruik van duidelijke argumentnamen en goede help-teksten verbetert daarbij de leesbaarheid en onderhoudbaarheid van je scripts.
25 November 2025 · 4 min to read
Programmeertaal Python

Hoe pip op Windows te installeren

pip is een hulpprogramma dat het installeren en beheren van Python-pakketten eenvoudig maakt. Van Python-beginners tot ervaren ontwikkelaars – het hebben van dit hulpmiddel op je Windows-computer is een echte gamechanger. Het vereenvoudigt de installatie van belangrijke frameworks en bibliotheken voor je ontwikkelingsbehoeften. Door pakketbeheer te automatiseren met pip bespaar je tijd en verminder je de complicaties van handmatige installaties. Volg deze handleiding om te leren hoe je pip instelt en je Python-pakketten moeiteloos beheert. pip-installatieproces voor Windows Hier zijn de richtlijnen voor het instellen van pip op een Windows-computer. Stap 1: Installatie bevestigen Controleer of Python correct werkt op je apparaat voordat je begint met het instellen van pip. Open de opdrachtprompt en voer uit: python --version   Als Python niet op je systeem is geïnstalleerd, download het dan van de officiële website. Stap 2: Download get-pip.py Het standaardinstallatiepakket van Python bevat automatisch pip. Als pip per ongeluk is verwijderd, download dan het script get-pip.py. Je hebt twee opties: bezoek de pip.py-webpagina of gebruik het curl-commando voor een snelle installatie: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Opmerking: Python opnieuw installeren om pip te verkrijgen is ook een optie. Dit kan echter soms leiden tot conflicten met andere afhankelijkheden of instellingen. Met dit script blijft je huidige Python-installatie ongewijzigd. Stap 3: Voer get-pip.py uit Navigeer via de opdrachtprompt naar de locatie van het script en voer uit: python get-pip.py Hiermee wordt pip soepel op je apparaat geïnstalleerd. Stap 4: Bevestig de installatie van pip Controleer de installatie door het volgende commando uit te voeren: pip --version Met dit commando wordt bevestigd dat pip correct op het systeem is geïnstalleerd. Stap 5: Voeg pip toe aan het systeempad (PATH) Als het commando niet goed werkt, werk dan je systeem-PATH bij met deze instructies om pip toe te voegen: Klik met de rechtermuisknop op Deze computer of Mijn computer en selecteer Eigenschappen. Kies Geavanceerde systeeminstellingen. Selecteer Omgevingsvariabelen. Ga naar de systeemvariabelen, zoek de variabele Path en kies Bewerken. Voeg de Python Scripts-map toe aan je systeem-PATH, bijvoorbeeld: C:\Python39\Scripts. Alternatieve methoden om pip op Windows te installeren Laten we een paar andere manieren bekijken om pip eenvoudig op Windows te installeren. Via de ingebouwde ensurepip-module Vanaf Python 3.4 is er een handige ingebouwde module genaamd ensurepip. Met dit hulpmiddel wordt de installatie van pip vereenvoudigd en is het script get-pip.py niet meer nodig. Stap 1: Voer ensurepip uit Voer het volgende commando in om pip in te stellen: python -m ensurepip --default-pip Stap 2: Controleer de installatie van pip Controleer de pip-versie met: pip --version Python-installatieprogramma gebruiken om pip te installeren Zorg ervoor dat het selectievakje voor pip is aangevinkt tijdens de Python-installatie. Zo doe je dat: Stap 1: Download het installatieprogramma Open je favoriete browser, ga naar de officiële Python-website en download het meest recente installatiebestand. Stap 2: Start het installatieprogramma Voer het gedownloade installatieprogramma uit en zorg ervoor dat je de optie “Add Python to PATH” selecteert tijdens de installatie. Stap 3: Installeer pip Tijdens het installatieproces, zorg ervoor dat je de optie “Install pip” aanvinkt. Stap 4: Controleer of pip is geïnstalleerd Wanneer de installatie is voltooid, controleer de pip-installatie met: pip --version pip-versie aanpassen: upgraden of downgraden pip kan worden aangepast aan je behoeften door het te upgraden of te downgraden. Zo doe je dat: pip upgraden Voer het volgende commando uit om pip bij te werken: python -m pip install --upgrade pip pip downgraden Om pip terug te zetten naar een eerdere versie, gebruik: python -m pip install pip==<version> Vervang <version> door het gewenste versienummer (bijvoorbeeld 21.0). Veelvoorkomende pip-installatieproblemen oplossen Hieronder vind je veelvoorkomende problemen bij het installeren van pip en hun oplossingen: Probleem 1: “pip” wordt niet herkend als een intern of extern commando Oplossing: Dit betekent dat het pad van pip niet is ingesteld in het systeem-PATH. Volg de instructies in “Stap 5” om dit te verhelpen. Probleem 2: Toegang geweigerd Oplossing: Start de opdrachtprompt als beheerder door met de rechtermuisknop op het pictogram te klikken en “Als administrator uitvoeren” te kiezen. Voer vervolgens de commando’s opnieuw uit. Probleem 3: Ontbrekende afhankelijkheden Oplossing: Soms treden er fouten op door ontbrekende afhankelijkheden. Installeer deze handmatig met pip. Bijvoorbeeld: pip install package_name Vervang package_name door de juiste afhankelijkheid. Virtuele omgevingen gebruiken Het gebruik van virtuele omgevingen houdt afhankelijkheden gescheiden en voorkomt conflicten. Zo gebruik je een virtuele omgeving met pip: Virtuele omgeving maken python -m venv env_name Vervang env_name door de gewenste naam van je omgeving. Virtuele omgeving activeren env_name\Scripts\activate Basiscommando’s van pip Hier zijn enkele basiscommando’s om pip te gebruiken: Een pakket installeren pip install package_name Vervang package_name door de naam van het gewenste pakket. Een pakket verwijderen pip uninstall package_name Geïnstalleerde pakketten weergeven pip list Pakketinformatie weergeven pip show package_name Beste praktijken voor pakketbeheer Gebruik virtuele omgevingen om afhankelijkheden efficiënt te beheren in meerdere projecten. Controleer en update je pakketten regelmatig om soepele werking te garanderen. Maak requirements-bestanden aan om het beheer van afhankelijkheden te vereenvoudigen. Beveiligde pip-installatie Het waarborgen van de veiligheid van de pakketten die door pip worden beheerd is cruciaal. Hier zijn enkele tips om je omgeving veilig te houden: Houd projecten geïsoleerd om conflicten en onveilige installaties te voorkomen. Controleer de betrouwbaarheid en authenticiteit van pakketbronnen voordat je ze installeert. Gebruik bij voorkeur officiële repositories en bekijk recensies. Werk pip en je pakketten regelmatig bij om te profiteren van de nieuwste beveiligingsupdates. Controleer je afhankelijkheden regelmatig op bekende kwetsbaarheden. Tools zoals pip-audit kunnen hierbij helpen. Volg veilige programmeerstandaarden en vermijd verouderde of onveilige pakketten. Integratie van pip met IDE’s pip kan eenvoudig worden geïntegreerd in verschillende Integrated Development Environments (IDE’s), wat je ontwikkelproductiviteit aanzienlijk verhoogt: VS Code: gebruik de geïntegreerde terminal om pip-commando’s direct in de editor uit te voeren en pakketten te beheren. PyCharm: optimaliseer het pakketbeheer door pip in te stellen via de projectinterpreter. Dit vereenvoudigt de installatie en het beheer van pakketten die zijn afgestemd op je specifieke projectbehoeften. Jupyter Notebook: gebruik magische commando’s in de notebookinterface om pakketten direct te installeren. Dit zorgt voor een soepele en geïntegreerde ervaring bij het beheren van afhankelijkheden terwijl je aan interactieve notebooks werkt.  Conclusie Windows biedt verschillende methoden om pip te installeren, afhankelijk van je voorkeuren en vereisten. Of je nu het .py-script gebruikt, de ingebouwde ensurepip-module of pip inschakelt tijdens de initiële installatie – al deze benaderingen zorgen ervoor dat pip correct wordt geconfigureerd op je systeem. Vergeet niet om pip up-to-date te houden om de veiligheid en efficiëntie van je Python-omgeving te waarborgen. Controleer regelmatig op updates en houd pip bijgewerkt. Bovendien vind je op ons Application Platform Python-apps zoals Celery, Django, FastAPI en Flask.
24 October 2025 · 7 min to read

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support