Sobes.tech
Middle

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

sobes.tech AI

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

  1. Ανάλυση URL: Ο περιηγητής αναλύει το εισαγόμενο URL, καθορίζοντας το πρωτόκολλο (HTTPS), το όνομα τομέα (google.com) και τη θύρα (προεπιλογή 443 για HTTPS).
  2. Αναζήτηση στην cache: Ο περιηγητής ελέγχει την δική του cache DNS για να βρει τη σχετική διεύθυνση IP του google.com.
  3. Αίτημα στον resolver: Αν δεν υπάρχει καταχώριση στην cache, ο περιηγητής ζητά τη διεύθυνση IP από τον DNS resolver που έχει ρυθμιστεί στο λειτουργικό σύστημα.
  4. Αναδρομική ερώτηση DNS:
    • Ο resolver ερωτά τους ριζικούς DNS servers.
    • Οι ριζικοί servers δείχνουν τους TLD servers για .com.
    • Οι TLD servers για .com δείχνουν τους authoritative DNS servers για το google.com.
    • Οι authoritative DNS servers για το google.com επιστρέφουν τη διεύθυνση IP του Google web server.
  5. Εγκαθίδρυση TCP σύνδεσης (SYN/ACK): Ο περιηγητής ξεκινά μια TCP σύνδεση με τη ληφθείσα διεύθυνση IP, χρησιμοποιώντας το τριπλό handshake (SYN, SYN-ACK, ACK).
    // Client --> Server: SYN
    // Server --> Client: SYN-ACK
    // Client --> Server: ACK
    
  6. Εγκαθίδρυση TLS/SSL σύνδεσης: Δεδομένου ότι το πρωτόκολλο είναι HTTPS, πραγματοποιείται το TLS/SSL handshake για την εγκαθίδρυση μιας ασφαλούς, κρυπτογραφημένης σύνδεσης. Και τα δύο μέρη ανταλλάσσουν πιστοποιητικά και δημιουργούν κλειδιά συνεδρίας.
  7. Αποστολή HTTP/S αιτήματος: Ο περιηγητής στέλνει ένα GET αίτημα στον διακομιστή Google για να λάβει την κύρια σελίδα.
    GET / HTTP/1.1
    Host: google.com
    User-Agent: <πληροφορίες περιηγητή>
    Accept: text/html,...
    
  8. Επεξεργασία του αιτήματος από τον διακομιστή: Ο διακομιστής web της Google (πιθανώς μέσω ενός load balancer) λαμβάνει και επεξεργάζεται το αίτημα, ενδεχομένως αλληλεπιδρώντας με εσωτερικές υπηρεσίες.
  9. Απάντηση HTTP/S: Ο διακομιστής δημιουργεί μια απάντηση HTTP/S που περιλαμβάνει τον κωδικό κατάστασης (π.χ., 200 OK) και το σώμα της απάντησης (HTML κώδικας της σελίδας).
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: <μέγεθος περιεχομένου>
    // ... άλλα headers
    // Σώμα απάντησης (HTML)
    
  10. Απόδοση της σελίδας: Ο περιηγητής λαμβάνει το HTML, το αναλύει και κατασκευάζει το DOM δέντρο.
  11. Φόρτωση πόρων: Ο περιηγητής εντοπίζει συνδέσμους σε CSS, JavaScript, εικόνες και άλλους πόρους στο HTML. Για κάθε πόρο, επαναλαμβάνονται τα βήματα 2-9 (ή χρησιμοποιείται υπάρχουσα σύνδεση), αποστέλλονται αιτήματα και φορτώνονται πόροι.
  12. Κατασκευή του CSSOM: Ο περιηγητής αναλύει το CSS και κατασκευάζει το CSS Object Model.
  13. Κατασκευή του δέντρου απόδοσης: Το DOM και το CSSOM συνδυάζονται για να κατασκευάσουν το δέντρο απόδοσης.
  14. Τοποθέτηση (Reflow): Ο περιηγητής υπολογίζει τις διαστάσεις και τη θέση κάθε στοιχείου στη σελίδα.
  15. Ζωγραφική: Τα στοιχεία ζωγραφίζονται στην οθόνη.
  16. Εκτέλεση JavaScript: Ο περιηγητής εκτελεί τον κώδικα JavaScript, ο οποίος μπορεί να τροποποιήσει το DOM, το CSSOM και να ξεκινήσει περαιτέρω ενέργειες.
  17. Κλείσιμο σύνδεσης: Μετά την ολοκλήρωση της μεταφοράς δεδομένων, η TCP σύνδεση μπορεί να κλείσει ή να παραμείνει ενεργή για μελλοντικά αιτήματα (keep-alive).