Linux-nätverk och TCP/IP för utvecklare · Lektion

HTTP/HTTPS-webbtjänster

Förstå hur webbservrar som Apache och Nginx levererar innehåll, inklusive grundläggande konfiguration och HTTPS-konfiguration.

Lektion 2 av 412 steg

HTTP/HTTPS-webbtjänster är en gratis lektion i Linux-nätverk och TCP/IP för utvecklare på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Linux-nätverk och TCP/IP för utvecklare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Linux-nätverk och TCP/IP för utvecklare innehåller totalt 4 lektioner.

Introduktion till webbtjänster

Välkommen! I den här lektionen utforskar vi hur webbplatser och applikationer levererar innehåll till din webbläsare. Det innebär att förstå webbtjänster, alltså i grunden hur datorer kommunicerar över internet för att dela information.

I centrum för denna kommunikation finns protokoll som HTTP och HTTPS, som drivs av webbserverprogramvara.

HTTP: webbens språk

HTTP står för Hypertext Transfer Protocol. Det är standardprotokollet för att skicka och ta emot webbsidor och annat webbinnehåll.

  • När du skriver in en webbadress skickar webbläsaren en HTTP-förfrågan till en server.
  • Servern behandlar förfrågan och skickar tillbaka ett HTTP-svar, som vanligtvis innehåller webbsidans data.
  • HTTP använder vanligtvis port 80 för kommunikationen.

Webbservrar i praktiken

En webbserver är programvara som lagrar webbinnehåll (till exempel HTML-filer, bilder, CSS och JavaScript) och levererar det till klienter (till exempel din webbläsare) via HTTP eller HTTPS.

Två av de mest populära webbserverpaketen är Apache HTTP Server och Nginx. Båda är kraftfulla och används i stor utsträckning i Linux-miljöer.

Apache: leverera innehåll

Apache är känt för sin flexibilitet och sitt modulsystem. För att leverera innehåll måste Apache veta var webbplatsens filer finns. Detta definieras av direktivet DocumentRoot.

Här är ett förenklat exempel på en Apache-konfiguration:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/html/mysite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Nginx: leverera innehåll

Nginx (uttalas ”engine-x”) är känt för sin höga prestanda och effektivitet, särskilt när det gäller att leverera statiskt innehåll och fungera som en omvänd proxy. Det använder ”server blocks” för att definiera hur förfrågningar hanteras.

Direktivet root anger katalogen som innehåller webbplatsens filer.

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html/mysite;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

Apaches virtuella värdar

För att vara värd för flera webbplatser på en enda server använder Apache Virtual Hosts. Varje konfigurationsblock för en virtuell värd definierar inställningar för ett specifikt domännamn eller en specifik IP-adress.

Detta gör att Apache kan leverera example.com från en katalog och anothersite.com från en helt annan, på samma server.

Nginx-serverblock

Nginx använder Server Blocks, som i princip liknar Apaches Virtual Hosts. Varje server-block lyssnar på en specifik port och svarar på förfrågningar för särskilda domännamn (som anges med server_name).

Detta gör Nginx mycket effektivt för hantering av flera webbapplikationer eller webbplatser.

Varför HTTPS? Säkerheten först!

HTTPS (Hypertext Transfer Protocol Secure) är den säkra versionen av HTTP. Det är avgörande för att skydda känsliga data som utbyts över internet.

  • Kryptering: HTTPS krypterar kommunikationen mellan din webbläsare och servern, så att den blir oläslig för avlyssnare.
  • Dataintegritet: Det säkerställer att data inte har manipulerats under överföringen.
  • Autentisering: Det verifierar att du kommunicerar med den avsedda servern och förhindrar attacker av typen ”man-in-the-middle”.

HTTPS använder vanligtvis port 443.

SSL/TLS-certifikat

HTTPS bygger på SSL/TLS-certifikat. Dessa digitala certifikat utfärdas av betrodda certifikatutfärdare (CA) och innehåller information om webbplatsens identitet.

När du besöker en HTTPS-webbplats kontrollerar webbläsaren certifikatet för att säkerställa att det är giltigt och betrott. Denna handskakningsprocess upprättar en säker, krypterad anslutning.

Tjänster som Let's Encrypt tillhandahåller kostnadsfria SSL/TLS-certifikat, ofta automatiskt med verktyg som Certbot.

Konfigurera HTTPS

För att aktivera HTTPS måste du konfigurera webbservern så att den använder ett SSL/TLS-certifikat. Det innebär att ange certifikatfilen och dess motsvarande privata nyckel i serverns konfiguration.

Både Apache och Nginx har direktiv för att hantera detta. Här är ett konceptuellt exempel:

server {
    listen 443 ssl;
    server_name secure.example.com;

    ssl_certificate /etc/letsencrypt/live/secure.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/secure.example.com/privkey.pem;

    # Other HTTPS related settings...
}

Kontrollera dina kunskaper

Webbservrar är avgörande för att leverera innehåll online. Nu testar vi dina kunskaper om protokollen och deras säkerhetsaspekter.

Sammanfattning av webbtjänster

Vi har gått igenom grunderna i webbtjänster! Nu förstår du:

  • HTTP- och HTTPS-protokollens roller.
  • Hur webbservrar som Apache och Nginx levererar innehåll.
  • Vikten av DocumentRoot/root och Virtual Hosts/Server Blocks.
  • Varför HTTPS och SSL/TLS-certifikat är avgörande för säker kommunikation.

Dessa begrepp är grundläggande för att distribuera och hantera alla webbaserade applikationer på en Linux-server!

Gratis att börja

Lär dig Linux-nätverk och TCP/IP för utvecklare med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”HTTP/HTTPS-webbtjänster” gratis?

Ja – hela texten till ”HTTP/HTTPS-webbtjänster” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Linux-nätverk och TCP/IP för utvecklare, kan Ni uppgradera till CoddyKit PRO. Kursen i Linux-nätverk och TCP/IP för utvecklare innehåller totalt 4 lektioner.

Vad lär jag mig i ”HTTP/HTTPS-webbtjänster”?

Förstå hur webbservrar som Apache och Nginx levererar innehåll, inklusive grundläggande konfiguration och HTTPS-konfiguration. Ni övar på Linux-nätverk och TCP/IP för utvecklare med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Linux-nätverk och TCP/IP för utvecklare?

Du behöver inga förkunskaper. Utbildningen i Linux-nätverk och TCP/IP för utvecklare på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”HTTP/HTTPS-webbtjänster”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Linux-nätverk och TCP/IP för utvecklare-lektionen?

Ja. Varje Linux-nätverk och TCP/IP för utvecklare-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. SSH för säker fjärråtkomst
  2. HTTP/HTTPS-webbtjänster
  3. DHCP- och DNS-tjänster
  4. NTP och tjänster för tidssynkronisering
← Tillbaka till Linux-nätverk och TCP/IP för utvecklare