Sobes.tech
Junior — Middle

Πώς λειτουργεί η διαδικασία επεξεργασίας των αιτημάτων HTTP στον browser και τι συμβαίνει στην πλευρά του πελάτη και του διακομιστή;

sobes.tech AI

Απάντηση από AI

Όταν ένας χρήστης εισάγει μια διεύθυνση URL στο πρόγραμμα περιήγησης και πατάει Enter, συμβαίνει η ακόλουθη διαδικασία:

  1. Πελάτης (περιηγητής):

    • Λύνει το όνομα τομέα σε μια διεύθυνση IP μέσω DNS.
    • Καθιερώνει μια σύνδεση TCP με τον διακομιστή (συνήθως μέσω της θύρας 80 για HTTP ή 443 για HTTPS).
    • Στέλνει ένα αίτημα HTTP (GET, POST κ.λπ.) στον διακομιστή.
  2. Διακομιστής:

    • Λαμβάνει και επεξεργάζεται το αίτημα (π.χ., μέσω ενός διακομιστή ιστού ή μιας backend εφαρμογής).
    • Δημιουργεί μια απάντηση HTTP με τα απαραίτητα δεδομένα (HTML, JSON, εικόνες κ.λπ.).
    • Στέλνει την απάντηση πίσω στον πελάτη.
  3. Πελάτης:

    • Λαμβάνει την απάντηση, την επεξεργάζεται (π.χ., αποδίδει HTML, εκτελεί JavaScript).
    • Φορτώνει επιπλέον πόρους (CSS, JS, εικόνες) κατά περίπτωση.

Παράδειγμα σε Go για επεξεργασία αιτήματος HTTP:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Γειά σου, ζήτησες: %s", r.URL.Path)
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

Αυτός ο κώδικας ξεκινά έναν απλό διακομιστή HTTP που απαντά σε όλα τα αιτήματα με ένα μήνυμα που περιέχει τη ζητούμενη διαδρομή.