🌐 Ενότητα 1: Ανασκόπηση του WWW

Ιστορική αναδρομή, Εξυπηρετητές ιστού, URLs, Μοντέλο πελάτη-εξυπηρετητή

1.1 Ιστορική Αναδρομή του WWW

Η Γέννηση του World Wide Web

Τα Πρώιμα Χρόνια - CERN 1989

Το Όραμα του Tim Berners-Lee

Ο Tim Berners-Lee οραματίστηκε ένα "παγκόσμιο δίκτυο πληροφοριών" όπου:

📅 Χρονολόγιο Εξέλιξης WWW

  • 1989: Πρόταση του WWW από τον Tim Berners-Lee
  • 1990: Πρώτος web browser (WorldWideWeb) και web server
  • 1991: Η πρώτη ιστοσελίδα στο διαδίκτυο (info.cern.ch)
  • 1993: CERN ανακοινώνει ότι το WWW θα είναι δωρεάν
  • 1993: Κυκλοφορία του Mosaic browser
  • 1994: Ίδρυση του W3C (World Wide Web Consortium)
  • 1995: Εμφάνιση του Netscape Navigator
  • 1995: Microsoft Internet Explorer 1.0
  • 1998: Google search engine
  • 2004: Web 2.0 - Social media και user-generated content

Τα Βασικά Συστατικά του Αρχικού WWW

  1. HTML (HyperText Markup Language): Γλώσσα σήμανσης για δημιουργία ιστοσελίδων
  2. HTTP (HyperText Transfer Protocol): Πρωτόκολλο επικοινωνίας
  3. URLs (Uniform Resource Locators): Διευθύνσεις πόρων στο διαδίκτυο
  4. Web Browser: Εφαρμογή για περιήγηση στο web
  5. Web Server: Σύστημα που εξυπηρετεί ιστοσελίδες

Εξέλιξη από το Web 1.0 στο Web 3.0

🔹 Web 1.0 (1990-2000)

  • Χαρακτήρας: Στατικός, μόνο ανάγνωση
  • Περιεχόμενο: Δημιουργείται από webmasters
  • Αλληλεπίδραση: Ελάχιστη
  • Παραδείγματα: Απλές ιστοσελίδες, directories

🔹 Web 2.0 (2000-2010)

  • Χαρακτήρας: Διαδραστικός, read-write
  • Περιεχόμενο: User-generated content
  • Αλληλεπίδραση: Υψηλή
  • Παραδείγματα: Social media, blogs, wikis

🚀 Web 3.0 - Το Μέλλον

Το Web 3.0 αναμένεται να φέρει:

  • Semantic Web: Τα δεδομένα θα έχουν νόημα για τις μηχανές
  • Artificial Intelligence: Έξυπνες υπηρεσίες και προσωποποίηση
  • Decentralization: Αποκεντρωμένες εφαρμογές (DApps)
  • Blockchain: Ασφάλεια και διαφάνεια

1.2 Εξυπηρετητές Ιστού (Web Servers)

Τι είναι ο Web Server

Ο εξυπηρετητής ιστού είναι λογισμικό (και υλικό) που:

Βασικές Λειτουργίες Web Server

⚙️ Λειτουργίες Server

  1. Αναμονή Αιτημάτων: Ακούει σε συγκεκριμένη θύρα (port)
  2. Ανάλυση Αιτήματος: Κατανοεί τι ζητά ο client
  3. Εύρεση Πόρου: Εντοπίζει το ζητούμενο αρχείο/σελίδα
  4. Επεξεργασία: Εκτελεί scripts αν χρειάζεται
  5. Αποστολή Απάντησης: Στέλνει το αποτέλεσμα στον client

Δημοφιλείς Web Servers

🅰️ Apache HTTP Server

  • Τύπος: Open Source
  • Μερίδιο αγοράς: ~25%
  • Πλεονεκτήματα: Stable, modules
  • Μειονεκτήματα: Βαρύς για υψηλό traffic

🚀 Nginx

  • Τύπος: Open Source
  • Μερίδιο αγοράς: ~35%
  • Πλεονεκτήματα: Υψηλή απόδοση
  • Χρήσεις: Reverse proxy, load balancer

🖥️ Microsoft IIS

  • Τύπος: Commercial
  • Πλατφόρμα: Windows μόνο
  • Πλεονεκτήματα: Ενσωμάτωση με .NET
  • Χρήση: Enterprise εφαρμογές

Cloudflare - Reverse Proxy/CDN

☁️ Τι είναι το Cloudflare

Το Cloudflare ΔΕΝ είναι web server, αλλά είναι:

  • Reverse proxy/CDN/Security layer που κάθεται μπροστά από τον πραγματικό web server σας (Apache, Nginx, LiteSpeed)
  • Διαχειρίζεται: DNS, caching, DDoS προστασία, SSL termination, firewall rules, load balancing
  • Ροή λειτουργίας: User → Cloudflare → Origin Web Server
  • Cache logic: Αν υπάρχει cache → σερβίρει κατευθείαν, αλλιώς ζητάει από τον origin server

Τύποι Περιεχομένου που Εξυπηρετούν

Τύπος Περιεχομένου Περιγραφή Παραδείγματα Επεξεργασία
Στατικό Αρχεία που δεν αλλάζουν HTML, CSS, JS, εικόνες Άμεση αποστολή
Δυναμικό Περιεχόμενο που δημιουργείται PHP, Python, Node.js Εκτέλεση script
API Responses Δεδομένα σε JSON/XML REST APIs, GraphQL Database queries
Media Μεγάλα αρχεία πολυμέσων Βίντεο, audio, PDFs Streaming/chunked

1.3 URLs - Uniform Resource Locators

Δομή των URLs

Τα URLs είναι οι διευθύνσεις που χρησιμοποιούμε για να εντοπίσουμε πόρους στο διαδίκτυο.

Γενική Δομή URL:
scheme://[username:password@]host[:port][/path][?query][#fragment]

Ανάλυση Συστατικών URL

https://www.example.com:443/products/shoes?category=sports&size=42#reviews
Scheme https
Host www.example.com
Port 443
Path /products/shoes
Query category=sports&size=42
Fragment reviews

Λεπτομερής Εξήγηση Συστατικών

Συστατικό Περιγραφή Παραδείγματα Υποχρεωτικό
Scheme Πρωτόκολλο επικοινωνίας http, https, ftp, mailto Ναι
Host Όνομα server ή IP διεύθυνση google.com, 192.168.1.1 Ναι
Port Θύρα σύνδεσης 80 (HTTP), 443 (HTTPS) Όχι
Path Διαδρομή στον server /home, /products/list Όχι
Query Παράμετροι αναζήτησης ?search=web&limit=10 Όχι
Fragment Τμήμα σελίδας #section1, #top Όχι

Λεπτομερής Ανάλυση της Γενικής Δομής URL

Ας εξηγήσουμε κομμάτι-κομμάτι τη γενική δομή:

scheme://[username:password@]host[:port][/path][?query][#fragment]

🔍 Αναλυτική Επεξήγηση Κάθε Συστατικού

  • scheme — Το πρωτόκολλο πρόσβασης (π.χ. http, https, ftp, mailto).
  • :// — Διαχωρίζει το scheme από το υπόλοιπο URL (υποχρεωτικό μόνο σε URL με "authority" όπως http/https).
  • [username:password@] (προαιρετικό) — Περιλαμβάνει στοιχεία αυθεντικοποίησης για πρόσβαση, π.χ. ftp://user:pass@host.
  • host — Το domain ή IP (π.χ. example.com ή 192.168.1.10).
  • [:port] (προαιρετικό) — Ο αριθμός θύρας, π.χ. :8080.
  • [/path] (προαιρετικό) — Η διαδρομή μέσα στον server, π.χ. /products/list.
  • [?query] (προαιρετικό) — Παράμετροι ερωτήματος (key=value), π.χ. ?id=123&lang=el.
  • [#fragment] (προαιρετικό) — Εσωτερικό σημείο ή άγκυρα στη σελίδα, π.χ. #section2.

Παράδειγμα με Όλα τα Συστατικά

ftp://john:secret123@files.example.com:21/documents/report.pdf?version=2#page5
Συστατικό Τιμή Επεξήγηση
scheme ftp Πρωτόκολλο μεταφοράς αρχείων
username:password john:secret123 Στοιχεία σύνδεσης χρήστη
host files.example.com Όνομα του FTP server
port 21 Θύρα FTP (default είναι 21)
path /documents/report.pdf Διαδρομή προς το αρχείο
query version=2 Παράμετρος για συγκεκριμένη έκδοση
fragment page5 Αναφορά στη σελίδα 5 του εγγράφου

Τύποι URLs

1. Absolute URLs (Απόλυτα)

https://www.example.com/page.html http://localhost:3000/api/users ftp://files.company.com/documents/

2. Relative URLs (Σχετικά)

./images/logo.png ../styles/main.css /api/data

3. Protocol-relative URLs

//cdn.example.com/library.js //fonts.googleapis.com/css?family=Roboto

URL Encoding

Ειδικοί χαρακτήρες πρέπει να κωδικοποιούνται για ασφαλή μεταφορά:

Χαρακτήρας Κωδικοποίηση Χρήση
Κενό %20 ή + Διαχωριστής λέξεων
& %26 Διαχωριστής παραμέτρων
? %3F Αρχή query string
# %23 Fragment identifier

🔹 Παράδειγμα URL Encoding

Αν έχεις αυτό:

https://example.com/search?query=tea & sugar

⚠️ Πρόβλημα

Λάθος, γιατί το & θα θεωρηθεί διαχωριστής παραμέτρων και το (κενό) δεν επιτρέπεται.

Σωστά κωδικοποιημένο:

https://example.com/search?query=tea%20%26%20sugar

Έτσι ο server θα λάβει το query σωστά ως "tea & sugar".

1.4 Το Μοντέλο Πελάτη-Εξυπηρετητή

Βασικές Αρχές

🔄 Αρχιτεκτονική Client-Server

Το μοντέλο πελάτη-εξυπηρετητή είναι μια αρχιτεκτονική όπου:

  • Client (Πελάτης): Στέλνει αιτήματα και περιμένει απαντήσεις
  • Server (Εξυπηρετητής): Δέχεται αιτήματα και στέλνει απαντήσεις
  • Stateless: Κάθε αίτημα είναι ανεξάρτητο
  • Asynchronous: Μπορούν να υπάρχουν πολλαπλά αιτήματα ταυτόχρονα

🔍 Παράδειγμα Stateless Επικοινωνίας

Φαντάσου ότι μπαίνεις σε ένα site και κάνεις αυτά:

  1. GET /login-page → ανοίγει η φόρμα σύνδεσης
  2. POST /login → στέλνεις τα στοιχεία σου
  3. GET /profile → ζητάς τη σελίδα του προφίλ σου

➡️ Κάθε ένα από αυτά είναι ξεχωριστό αίτημα. Ο server δεν "θυμάται" ότι είσαι ο ίδιος χρήστης από το προηγούμενο βήμα.

🧩 Άρα… πώς "θυμάται" ποιος είσαι;

Αυτό γίνεται με βοηθητικά μηχανισμούς πάνω από το HTTP, όπως:

  • 🍪 Cookies — ο browser κρατάει ένα "χαρτάκι" με τα στοιχεία σου και το στέλνει κάθε φορά.
  • 🔑 Tokens / Sessions — ο server δημιουργεί ένα "session id" ή "JWT token" που δείχνει ποιος είσαι.
  • 🧾 Headers — κάθε αίτημα μπορεί να περιλαμβάνει δεδομένα αυθεντικοποίησης (π.χ. Authorization: Bearer ...).

Ροή Επικοινωνίας HTTP Request-Response

📋 Βήματα Επικοινωνίας

  • Βήμα 1: Χρήστης πληκτρολογεί URL στον browser
  • Βήμα 2: Browser αναλύει το URL
  • Βήμα 3: DNS lookup για εύρεση IP διεύθυνσης
  • Βήμα 4: Εγκαθίδρυση TCP σύνδεσης
  • Βήμα 5: Αποστολή HTTP request
  • Βήμα 6: Server επεξεργάζεται το αίτημα
  • Βήμα 7: Server στέλνει HTTP response
  • Βήμα 8: Browser renders την σελίδα

Χαρακτηριστικά του Μοντέλου

✅ Πλεονεκτήματα

  • Κλιμάκωση: Ένας server εξυπηρετεί πολλούς clients
  • Κεντρική διαχείριση: Δεδομένα και λογική στον server
  • Ασφάλεια: Κεντρικός έλεγχος πρόσβασης
  • Συντήρηση: Αλλαγές μόνο στον server
  • Διαμοιρασμός πόρων: Κοινή χρήση δεδομένων

❌ Μειονεκτήματα

  • Εξάρτηση δικτύου: Απαιτείται σύνδεση
  • Single point of failure: Πρόβλημα server = πρόβλημα όλων
  • Latency: Χρόνος απόκρισης δικτύου
  • Φόρτος server: Περιορισμένη ταυτόχρονη εξυπηρέτηση

Τύποι Clients

Τύπος Client Περιγραφή Παραδείγματα Χαρακτηριστικά
Web Browser Γραφικό περιβάλλον περιήγησης Chrome, Firefox, Safari HTML rendering, JavaScript
Mobile App Εφαρμογή κινητού iOS/Android apps Native UI, API calls
Command Line Εργαλεία γραμμής εντολών curl, wget Αυτοματισμός, scripts
API Client Προγραμματιστικό interface Postman, REST clients Testing, automation

1.5 Πρωτόκολλα Επικοινωνίας

HTTP - HyperText Transfer Protocol

🌐 Χαρακτηριστικά HTTP

  • Stateless: Δεν διατηρεί κατάσταση μεταξύ αιτημάτων
  • Text-based: Μηνύματα σε απλό κείμενο
  • Request-Response: Μοντέλο ερώτησης-απάντησης
  • Πολυμέσα: Υποστηρίζει διάφορους τύπους αρχείων

HTTP Methods (Verbs)

Method Περιγραφή Χρήση Ασφαλής Idempotent
GET Ανάκτηση δεδομένων Φόρτωση σελίδων Ναι Ναι
POST Αποστολή δεδομένων Φόρμες, δημιουργία Όχι Όχι
PUT Ενημέρωση πόρου Πλήρης αντικατάσταση Όχι Ναι
DELETE Διαγραφή πόρου Αφαίρεση δεδομένων Όχι Ναι
PATCH Μερική ενημέρωση Μικρές αλλαγές Όχι Όχι

Αναλυτική Εξήγηση των HTTP Methods

🟢 GET — Παίρνω δεδομένα

  • Τι κάνει: Ζητά κάτι από τον server χωρίς να αλλάζει τίποτα.
  • Παράδειγμα: Ο browser σου ζητά μια σελίδα:
    GET /products
    Δηλαδή "δείξε μου τη λίστα με τα προϊόντα".
  • Ασφαλής: Ναι (δεν αλλάζει τίποτα στη βάση)
  • Idempotent: Ναι (αν το ζητήσεις 100 φορές, ίδιο αποτέλεσμα)

🟠 POST — Στέλνω νέα δεδομένα

  • Τι κάνει: Στέλνει πληροφορίες για να δημιουργηθεί κάτι καινούριο.
  • Παράδειγμα: Συμπληρώνεις μια φόρμα εγγραφής:
    POST /users
    Δηλαδή "φτιάξε έναν νέο χρήστη με αυτά τα στοιχεία".
  • Ασφαλής: Όχι (αλλάζει τη βάση)
  • Idempotent: Όχι (αν το κάνεις 2 φορές, θα φτιαχτούν 2 χρήστες)

🔵 PUT — Ενημερώνω πλήρως κάτι

  • Τι κάνει: Αντικαθιστά πλήρως έναν πόρο (π.χ. ένα αντικείμενο).
  • Παράδειγμα:
    PUT /users/10
    Δηλαδή "αντικατάστησε τα στοιχεία του χρήστη #10 με αυτά τα νέα".
  • Ασφαλής: Όχι
  • Idempotent: Ναι (αν το κάνεις 2 φορές, το αποτέλεσμα μένει ίδιο)

🔴 DELETE — Διαγράφω κάτι

  • Τι κάνει: Ζητά να διαγραφεί ένας πόρος.
  • Παράδειγμα:
    DELETE /users/10
    Δηλαδή "διέγραψε τον χρήστη #10".
  • Ασφαλής: Όχι
  • Idempotent: Ναι (αν προσπαθήσεις να το διαγράψεις ξανά, δεν αλλάζει κάτι)

🟣 PATCH — Ενημερώνω μερικώς κάτι

  • Τι κάνει: Αλλάζει μόνο συγκεκριμένα πεδία, όχι όλο το αντικείμενο.
  • Παράδειγμα:
    PATCH /users/10
    Δηλαδή "άλλαξε μόνο το email του χρήστη #10".
  • Ασφαλής: Όχι
  • Idempotent: Όχι πάντα (εξαρτάται πώς υλοποιείται)

HTTP Status Codes

2xx Success 200 OK
201 Created
204 No Content
3xx Redirection 301 Moved Permanently
302 Found
304 Not Modified
4xx Client Error 400 Bad Request
401 Unauthorized
404 Not Found
5xx Server Error 500 Internal Server Error
502 Bad Gateway
503 Service Unavailable

Τι είναι τα HTTP Status Codes;

Κάθε φορά που ένα πρόγραμμα (π.χ. browser ή εφαρμογή) μιλάει με έναν server, ο server απαντά με έναν τριψήφιο αριθμό — τον status code — που λέει τι έγινε με το αίτημα.

🟢 2xx — Όλα πήγαν καλά (Success)

Κωδικός Τι σημαίνει Παράδειγμα
200 OK ✅ Όλα καλά, ο server βρήκε και έστειλε τα δεδομένα. Ζητάς /products → Ο server στέλνει τη λίστα προϊόντων.
201 Created 🆕 Κάτι καινούριο δημιουργήθηκε με επιτυχία. Στέλνεις POST /users → Δημιουργείται ο νέος χρήστης.
204 No Content 👍 Το αίτημα έγινε δεκτό, αλλά δεν υπάρχει κάτι να σταλεί πίσω. Στέλνεις DELETE /user/10 → Ο χρήστης διαγράφηκε, δεν χρειάζεται απάντηση.

🟡 3xx — Ανακατεύθυνση (Redirection)

Κωδικός Τι σημαίνει Παράδειγμα
301 Moved Permanently 📦 Ο πόρος μετακινήθηκε μόνιμα σε άλλη διεύθυνση. Πας στο old-site.com → Σε στέλνει μόνιμα στο new-site.com.
302 Found 🚦 Ο πόρος είναι προσωρινά αλλού. Πας στο /login → Σε στέλνει προσωρινά στο /login-page.
304 Not Modified 🗂️ Ο πόρος δεν άλλαξε από την τελευταία φορά, οπότε χρησιμοποίησε την cached έκδοση. Ο browser σου δεν ξαναφορτώνει μια εικόνα που δεν άλλαξε.

🔴 4xx — Σφάλμα από τον client (Client Error)

Κωδικός Τι σημαίνει Παράδειγμα
400 Bad Request 🤯 Το αίτημα ήταν "στραβό" ή λείπουν δεδομένα. Έστειλες φόρμα χωρίς υποχρεωτικό πεδίο.
401 Unauthorized 🔐 Δεν έχεις τα σωστά δικαιώματα (π.χ. δεν έστειλες token). Πας σε σελίδα admin χωρίς να είσαι συνδεδεμένος.
404 Not Found ❌ Ο πόρος δεν βρέθηκε. Πας στο /users/999 αλλά αυτός ο χρήστης δεν υπάρχει.

⚫ 5xx — Σφάλμα από τον server (Server Error)

Κωδικός Τι σημαίνει Παράδειγμα
500 Internal Server Error 💥 Ο server "έσκασε" λόγω κάποιου bug. Το Laravel σου πέταξε exception στη βάση.
502 Bad Gateway 🌉 Ο server-μεσάζοντας πήρε χαλασμένη απάντηση από τον πίσω server. Apache reverse proxy δεν παίρνει σωστή απάντηση από το backend.
503 Service Unavailable 💤 Ο server είναι προσωρινά εκτός λειτουργίας (συντήρηση ή υπερφόρτωση). Πολλοί χρήστες μαζί → "Server unavailable, try again later."

HTTPS - Ασφαλής HTTP

1.6 Αρχιτεκτονική του WWW

Βασικά Συστατικά

🏗️ Αρχιτεκτονικά Layers

  1. Presentation Layer: HTML, CSS, JavaScript (Frontend)
  2. Application Layer: Web servers, business logic
  3. Data Layer: Databases, file systems
  4. Network Layer: HTTP/HTTPS, TCP/IP

Σύγχρονη Web Αρχιτεκτονική

🎨 Frontend

  • HTML/CSS/JavaScript
  • React, Vue, Angular
  • Mobile responsive
  • User experience

⚙️ Backend

  • Server-side logic
  • APIs και databases
  • Authentication
  • Business rules

🗄️ Database

  • Αποθήκευση δεδομένων
  • SQL/NoSQL
  • CRUD operations
  • Data integrity

☁️ Infrastructure

  • Cloud hosting
  • CDN networks
  • Load balancers
  • Monitoring

1.7 Σύγχρονες Εξελίξεις

Νέες Τεχνολογίες και Τάσεις

Progressive Web Apps (PWAs)

📱 Βασικά χαρακτηριστικά PWAs

  • Εγκατάσταση σαν app: Ο χρήστης μπορεί να τις "κατεβάσει" από τον browser και να τις έχει στην αρχική οθόνη, χωρίς App Store ή Play Store
  • Offline λειτουργία: Χάρη στα service workers, μέρη της εφαρμογής δουλεύουν ακόμα και χωρίς σύνδεση
  • Ταχύτητα & απόκριση: Φορτώνουν γρήγορα, ακόμα και σε αδύναμες συνδέσεις
  • Push notifications: Μπορούν να στέλνουν ειδοποιήσεις όπως οι native εφαρμογές
  • Cross-platform: Μία εφαρμογή λειτουργεί σε Android, iOS (με κάποιους περιορισμούς), desktop
  • Ενημέρωση στο παρασκήνιο: Πάντα στην πιο πρόσφατη έκδοση, χωρίς ο χρήστης να χρειάζεται update

Παραδείγματα χρήσης PWAs

📱 Native App

  • Πλήρης έλεγχος και πρόσβαση σε hardware
  • Hardware access: Κάμερα, Bluetooth, αισθητήρες
  • Καλύτερη απόδοση και ταχύτητα
  • Μειονέκτημα: Πιο δύσκολη/βαριά ανάπτυξη

🌐 PWA

  • Εύκολη ανάπτυξη: HTML, CSS, JS
  • Cross-platform με ένα codebase
  • Γρήγορη deployment χωρίς app stores
  • Μειονέκτημα: Περιορισμένη πρόσβαση σε OS features (ιδίως iOS)

WebAssembly (WASM)

WebAssembly είναι μια δυαδική μορφή εκτέλεσης κώδικα μέσα στον browser, σχεδιασμένη για υψηλή απόδοση.

⚡ Χαρακτηριστικά WebAssembly

  • Near-native performance: Τρέχει σχεδόν τόσο γρήγορα όσο οι native εφαρμογές
  • Multiple languages: Μπορείς να γράψεις σε C/C++, Rust, Go, ακόμα και Python (μέσω binding) και να τα τρέξεις στο browser
  • Gaming & graphics: Υποστηρίζει βαριές εφαρμογές (π.χ. 3D παιχνίδια, CAD, video editors)
  • Universal runtime: Τρέχει σε κάθε σύγχρονο browser, χωρίς εγκατάσταση

Παραδείγματα WebAssembly

Edge Computing

Το Edge Computing φέρνει την επεξεργασία πιο κοντά στον χρήστη, αντί να γίνεται μόνο σε κεντρικά data centers.

🛰️ Χαρακτηριστικά Edge Computing

  • Reduced latency: Χαμηλή καθυστέρηση, ιδανικό για real-time apps (gaming, AR/VR, live analytics)
  • CDN evolution: Τα παραδοσιακά CDNs δεν κάνουν μόνο caching, αλλά τρέχουν και κώδικα στο edge (π.χ. Cloudflare Workers, AWS Lambda@Edge)
  • IoT support: Κρίσιμο για Internet of Things, όπου οι συσκευές χρειάζονται γρήγορη ανταπόκριση χωρίς να περιμένουν τον κεντρικό server
  • Scalability: Κατανεμημένη εκτέλεση → λιγότερη πίεση στα κεντρικά data centers

Παραδείγματα Edge Computing

📋 Σύνοψη Ενότητας

Το World Wide Web έχει εξελιχθεί από ένα απλό σύστημα διαμοιρασμού εγγράφων σε μια πολύπλοκη πλατφόρμα που υποστηρίζει εφαρμογές, υπηρεσίες και επικοινωνία παγκοσμίως.

🎯 Βασικά σημεία:

  • Ιστορία: Από το CERN το 1989 στο σύγχρονο Web 3.0
  • Αρχιτεκτονική: Client-server μοντέλο με HTTP/HTTPS
  • Web Servers: Apache, Nginx, IIS για εξυπηρέτηση περιεχομένου
  • URLs: Διευθυνσιοδότηση πόρων στο διαδίκτυο
  • Εξέλιξη: PWAs, WebAssembly, Edge Computing

Στην επόμενη ενότητα θα μάθουμε HTML και CSS για τη δημιουργία ιστοσελίδων!

🔥 Ασκήσεις Εμπέδωσης

  1. Αναλύστε το URL: https://shop.example.com:8080/products/electronics?category=phones&brand=apple#specifications
  2. Εξηγήστε τη διαφορά μεταξύ HTTP και HTTPS
  3. Περιγράψτε τα βήματα που γίνονται όταν πληκτρολογείτε μια διεύθυνση στον browser
  4. Συγκρίνετε τα πλεονεκτήματα του Apache με το Nginx
  5. Τι είναι το Web 3.0 και πώς διαφέρει από το Web 2.0;
  6. Εξηγήστε τους HTTP status codes: 200, 404, 500
  7. Ποια είναι τα χαρακτηριστικά ενός stateless πρωτοκόλλου;
  8. Περιγράψτε μια PWA και τα πλεονεκτήματά της