Sobes.tech
Middle

Τι συμβαίνει όταν πληκτρολογείτε μια διεύθυνση στον browser, για παράδειγμα, google.com;

sobes.tech AI

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

  1. Ανάλυση URL: Ο περιηγητής διαχωρίζει το URL στα συστατικά του μέρη: το πρωτόκολλο (HTTP/HTTPS), το όνομα τομέα (google.com) και τη διαδρομή (/).

  2. Αναζήτηση διεύθυνσης IP:

    • Ο περιηγητής ελέγχει την cache DNS του.
    • Το λειτουργικό σύστημα ελέγχει την cache DNS του.
    • Το σύστημα ζητά από τον διακομιστή DNS (συνήθως παρεχόμενο από τον πάροχο).
    • Ο διακομιστής DNS κάνει αναδρομικές ερωτήσεις στους ρίζες, TLD και αρμόδιους διακομιστές DNS μέχρι να βρει τη διεύθυνση IP του google.com.
    • Η διεύθυνση IP επιστρέφεται στον περιηγητή.
  3. Εγκαθίδρυση σύνδεσης TCP:

    • Ο περιηγητής δημιουργεί μια σύνδεση TCP με τον διακομιστή στη βρεθείσα διεύθυνση IP, χρησιμοποιώντας το τριπλό χειραψία (SYN, SYN-ACK, ACK).
  4. Χειραψία SSL/TLS (για HTTPS):

    • Ο πελάτης και ο διακομιστής συμφωνούν στους αλγόριθμους κρυπτογράφησης.
    • Ο διακομιστής στέλνει το πιστοποιητικό του.
    • Ο περιηγητής ελέγχει το πιστοποιητικό.
    • Τα μέρη ανταλλάσσουν κλειδιά κρυπτογράφησης για ασφαλή επικοινωνία.
  5. Αποστολή αιτήματος HTTP: Ο περιηγητής στέλνει ένα αίτημα HTTP στον διακομιστή, που περιέχει τη μέθοδο (GET), τη διαδρομή, τις κεφαλίδες (Host, User-Agent, Accept κ.ά.) και, ενδεχομένως, το σώμα του αιτήματος.

    GET / HTTP/1.1  
    Host: google.com  
    User-Agent: Mozilla/5.0 (...)  
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
    
  6. Επεξεργασία του αιτήματος από τον διακομιστή:

    • Ο διακομιστής λαμβάνει το αίτημα.
    • Ο διακομιστής επεξεργάζεται το αίτημα (π.χ., εκτελεί τη λογική της εφαρμογής).
    • Ο διακομιστής δημιουργεί την απάντηση HTTP.
  7. Λήψη της απάντησης HTTP: Ο περιηγητής λαμβάνει την απάντηση HTTP από τον διακομιστή, που περιέχει τον κωδικό κατάστασης (π.χ., 200 OK), τις κεφαλίδες (Content-Type, Content-Length κ.ά.) και το σώμα της απάντησης (HTML σελίδα, εικόνες, CSS, JS κ.ά.).

    HTTP/1.1 200 OK  
    Content-Type: text/html; charset=UTF-8  
    Content-Length: XXXX  
    ...  
    
    <!doctype html>...  
    
  8. Απεικόνιση της σελίδας:

    • Ο περιηγητής αρχίζει να αναλύει τον κώδικα HTML.
    • Όταν ανιχνεύει συνδέσμους σε CSS, JavaScript ή εικόνες, ο περιηγητής κάνει επιπλέον αιτήματα για να τα λάβει (τα βήματα 2-7 επαναλαμβάνονται για κάθε πόρο).
    • Ο περιηγητής κατασκευάζει το δέντρο DOM (Document Object Model) από το HTML.
    • Ο περιηγητής κατασκευάζει το δέντρο CSSOM (CSS Object Model) από το CSS.
    • Ο περιηγητής κατασκευάζει το δέντρο απόδοσης, συνδυάζοντας το DOM και το CSSOM.
    • Ο περιηγητής εκτελεί JavaScript (μπορεί να τροποποιεί το DOM και το CSSOM).
    • Ο περιηγητής υπολογίζει τη διάταξη των στοιχείων στη σελίδα (Layout).
    • Ο περιηγητής ζωγραφίζει τα στοιχεία στην οθόνη (Painting).