HTML
| Αυτό το λήμμα χρειάζεται μορφοποίηση ώστε να ανταποκρίνεται στις προδιαγραφές μορφοποίησης της Βικιπαίδειας. |
Η HTML (Hypertext Markup Language), στα ελληνικά γλώσσα σήμανσης υπερκειμένου, είναι η τυπική γλώσσα σήμανσης για ιστοσελίδες που έχουν σχεδιαστεί για εμφάνιση σε πρόγραμμα περιήγησης ιστού. Καθορίζει το περιεχόμενο και τη δομή του περιεχομένου Ιστού. Συχνά υποστηρίζεται από τεχνολογίες όπως η Cascading Style Sheets (CSS) και γλώσσες δέσμης ενεργειών όπως η JavaScript.
Η HTML γράφεται υπό μορφή στοιχείων τα οποία αποτελούνται από ετικέτες (tags), οι οποίες περικλείονται μέσα σε σύμβολα «μεγαλύτερο από» και «μικρότερο από» (για παράδειγμα <html>), μέσα στο περιεχόμενο της ιστοσελίδας. Οι ετικέτες HTML συνήθως λειτουργούν ανά ζεύγη (για παράδειγμα <h1> και </h1>), με την πρώτη να ονομάζεται ετικέτα έναρξης και τη δεύτερη ετικέτα λήξης (ή σε άλλες περιπτώσεις ετικέτα ανοίγματος και ετικέτα κλεισίματος αντίστοιχα). Ανάμεσα στις ετικέτες, οι σχεδιαστές ιστοσελίδων μπορούν να τοποθετήσουν κείμενο, πίνακες, εικόνες κλπ.
Ο σκοπός ενός περιηγητή ιστού (Web browser) είναι να διαβάζει τα έγγραφα HTML και να τα συνθέσει σε σελίδες που μπορεί κανείς να διαβάσει ή να ακούσει. Ο browser δεν εμφανίζει τις ετικέτες HTML, αλλά τις χρησιμοποιεί για να παρουσιάσει το περιεχόμενο της σελίδας.
Τα στοιχεία της HTML χρησιμοποιούνται για να κτίσουν όλους του ιστότοπους. Η HTML επιτρέπει την ενσωμάτωση εικόνων και άλλων αντικειμένων μέσα στη σελίδα, και μπορεί να χρησιμοποιηθεί για να εμφανίσει διαδραστικές φόρμες. Παρέχει τις μεθόδους δημιουργίας δομημένων εγγράφων (δηλαδή εγγράφων που αποτελούνται από το περιεχόμενο που μεταφέρουν και από τον κώδικα μορφοποίησης του περιεχομένου) καθορίζοντας δομικά σημαντικά στοιχεία για το κείμενο, όπως κεφαλίδες, παραγράφους, λίστες, συνδέσμους, παραθέσεις και άλλα. Μπορούν επίσης να ενσωματώνονται σενάρια εντολών σε γλώσσες όπως η JavaScript, τα οποία επηρεάζουν τη συμπεριφορά των ιστοσελίδων HTML και από στατικές τις κάνουν διαδραστικές.
Οι Web browsers μπορούν επίσης να αναφέρονται σε στυλ μορφοποίησης CSS για να ορίζουν την εμφάνιση και τη διάταξη του κειμένου και του υπόλοιπου υλικού. Η Κοινοπραξία του Παγκοσμίου Ιστού, ο οποίος δημιουργεί και συντηρεί τα πρότυπα για την HTML και τα CSS, ενθαρρύνει τη χρήση των CSS αντί διαφόρων στοιχείων της HTML για σκοπούς παρουσίασης του περιεχομένου.[1]
Ιστορία
[Επεξεργασία | επεξεργασία κώδικα]
Προέλευση
[Επεξεργασία | επεξεργασία κώδικα]
Το 1980, ο φυσικός Τιμ Μπέρνερς Λι, ο οποίος εργαζόταν στο CERN, επινόησε το ENQUIRE, ένα σύστημα χρήσης και διαμοιρασμού εγγράφων για τους ερευνητές του CERN, και κατασκεύασε ένα πρωτότυπό του. Αργότερα, το 1989, πρότεινε ένα σύστημα βασισμένο στο διαδίκτυο, το οποίο θα χρησιμοποιούσε υπερκείμενο.[2] Έτσι, έφτιαξε την προδιαγραφή της HTML και έγραψε τον browser και το λογισμικό εξυπηρετητή στα τέλη του 1990. Τον ίδιο χρόνο, ο Μπέρνερς Λι και ο μηχανικός συστημάτων πληροφορικής του CERN Robert Cailliau συνεργάστηκαν σε μια κοινή προσπάθεια εύρεσης χρηματοδότησης, αλλά το έργο δεν υιοθετήθηκε ποτέ επίσημα από το CERN. Στις προσωπικές του σημειώσεις από το 1990[3], ο Μπέρνερς Λι αριθμεί «μερικές από τις πολλές χρήσεις του υπερκειμένου», όπως την γενική παρουσίαση πληροφοριών (π.χ. μια εγκυκλοπαίδεια), στοχευμένη δημοσίευση (κείμενα βοήθειας, τεκμηρίωσης, εκπαίδευσης, κλπ) μέχρι ακόμα και για καταγραφή προσωπικών σημειώσεων.[4]
Πρώτες προδιαγραφές
[Επεξεργασία | επεξεργασία κώδικα]Η πρώτη δημόσια διαθέσιμη περιγραφή της HTML ήταν ένα έγγραφο με το όνομα Ετικέτες HTML, το οποίο πρωτοαναφέρθηκε στο Διαδίκτυο από τον Μπέρνερς Λι στα τέλη του 1991[5][6]. Περιέγραφε τα 20 στοιχεία τα οποίο αποτελούσαν τον αρχικό και σχετικά απλό σχεδιασμό της HTML. Εκτός από την ετικέτα υπερσυνδέσμου, οι υπόλοιπες ήταν έντονα επηρεασμένες από την SGMLguid, μια μορφή δημιουργίας τεκμηρίωσης, φτιαγμένη στο CERN και βασισμένη στην SGML. Δεκατρία από εκείνα τα αρχικά στοιχεία υπάρχουν ακόμα σήμερα στην HTML 4.[7]
Το ίδιο το πρότυπο SGML αναπαράγει μερικές από τις τεχνικές των τυπογράφων, αλλά εκτός από απλή μίμηση της τυπογραφίας προσθέτει γενικευμένη σήμανση βασισμένη σε στοιχεία, τα οποία μπορούν να εμφωλεύονται το ένα μέσα στο άλλο και να φέρουν ιδιότητες. Ακόμα, το SGML διαχωρίζει τη δομή από το περιεχόμενο, κατεύθυνση προς την οποία αργότερα κινήθηκε και η HTML, με τα CSS. Πολλά από τα στοιχεία κειμένου προέρχονται από την τεχνική αναφορά ISO TR 9537, Techniques for using SGML (τεχνικές χρήσης της SGML), η οποία με τη σειρά της καλύπτει τα χαρακτηριστικά των πρώιμων γλωσσών μορφοποίησης κειμένου που χρησιμοποιούνταν από τα TYPSET και RUNOFF, και είχαν αναπτυχθεί στις αρχές της δεκαετίας του 1960 για το λειτουργικό σύστημα CTSS.
Ο Μπέρνερς Λι θεώρησε την HTML ως μια υλοποίηση του SGML. Αυτό ορίστηκε και επίσημα από το Internet Engineering Task Force (IETF) με τη δημοσίευση της πρώτης πρότασης για μια προδιαγραφή της HTML, στα μέσα του 1993[8], η οποία περιλάμβανε και έναν Ορισμό τύπου εγγράφου (DTD, Document Type Definition) της SGML, ο οποίος όριζε την γραμματική[9]. Αυτό το πρόχειρο έληξε μετά την πάροδο έξι μηνών, αλλά περιέχει κάτι αξιοσημείωτο: την αναγνώριση της ετικέτας του NCSA Mosaic για την ενσωμάτωση εικόνων μέσα στο κείμενο, η οποία αντικατοπτρίζει την φιλοσοφία του IETF για ενσωμάτωση επιτυχημένων πρωτότυπων μέσα στα πρότυπα.[10] Κάτι παρόμοιο περιείχε και το ανταγωνιστικό πρόχειρο του Dave Raggett, «HTML+ (Hypertext Markup Format)», από τα τέλη του, το οποίο πρότεινε την προτυποποίηση μερικών ήδη υλοποιημένων δυνατοτήτων, όπως οι πίνακες και οι φόρμες[11].
Μετά την λήξη των πρόχειρων HTML και HTML+, στις αρχές του 1994, το IETF δημιούργησε την Ομάδα Εργασίας για την HTML, η οποία το 1995 ολοκλήρωσε την «HTML 2.0», με την πρόθεση να αποτελέσει την πρώτη προδιαγραφή πάνω στην οποία θα βασίζονταν οι μελλοντικές υλοποιήσεις.[10] Η HTML 2.0 δημοσιεύτηκε ως RFC 1866[12], και περιείχε ιδέες από τα πρόχειρα HTML και HTML+.[13] Η αρίθμηση 2.0 σκόπευε απλά να ξεχωρίσει την νέα έκδοση από τα πρόχειρα που προηγήθηκαν.[14]
Η περαιτέρω ανάπτυξη κάτω από την επίβλεψη του IETF καθυστέρησε λόγω σύγκρουσης απόψεων. Από το 1996 και μετά, οι προδιαγραφές της HTML τηρούνται, μαζί με την σύμφωνη γνώμη των δημιουργών του λογισμικού, από το World Wide Web Consortium (W3C).[15] Ωστόσο, το 2000 η HTML έγινε επίσης παγκόσμιο πρότυπο (ISO/IEC 15445:2000). Η τελευταία προδιαγραφή της HTML, η HTML 4.01 δημοσιεύτηκε από το W3C το 1999, και το 2001 δημοσιεύτηκαν επίσης και τα λάθη και οι παραλείψεις της (errata).
Ιστορικό εκδόσεων του προτύπου
[Επεξεργασία | επεξεργασία κώδικα]Χρονικό εκδόσεων HTML
[Επεξεργασία | επεξεργασία κώδικα]- 24 Νοεμβρίου 1995
- Η HTML 2.0 δημοσιεύτηκε ως IETF RFC 1866.[12] Επιπλέον συμπληρωματικά RFC πρόσθεσαν δυνατότητες:
- 25 Νοεμβρίου 1995: RFC 1867 (ανέβασμα αρχείο από φόρμα)
- Μάιος 1996: RFC 1942 (πίνακες)
- Αύγουστος 1996: RFC 1980 (πελατοκεντικοί χάρτες εικόνων (client-side))
- Ιανουάριος 1997: RFC 2070 (διεθνοποίηση και τοπικοποίηση)
- Τον Ιούνιο του 2000, όλα τα ανωτέρω χαρακτηρίστηκαν ως ξεπερασμένα ή ιστορικά, από το RFC 2854.
- Ιανουάριος 1997
- Η HTML 3.2[16] δημοσιεύτηκε ως Σύσταση από το W3C. Ήταν η πρώτη έκδοση που αναπτύχθηκε και προτυποποιήθηκε αποκλειστικά από το W3C, μια που το IETF έκλεισε την Ομάδα Εργασίας για την HTML τον Σεπτέμβριο του 1996.[17]
- Στην HTML 3.2 αφαιρέθηκαν εντελώς οι μαθηματικοί τύποι και οι υπερκαλύψεις που προέρχονταν από επεκτάσεις του προτύπου από τρίτους φορείς. Υιοθετήθηκαν οι περισσότερες από τις ετικέτες οπτικής διαμόρφωσης του Netscape αλλά παραλείφθηκαν οι ετικέτες blink του Netscape και marquee της Microsoft, μετά από κοινή συναίνεση και των δύο εταιρειών.[15] Για να συμπληρωθεί το κενό από την αφαίρεση της δυνατότητας αναπαράστασης μαθηματικών τύπων, προτυποποιήθηκε το MathML 14 μήνες αργότερα.
- Δεκέμβριος 1997
- Δημοσιεύτηκε η HTML 4.0[18] από το W3C, ως Σύστηση. Παρείχε τρεις εκδοχές:
- την Strict, στην οποία απαγορεύεται η χρήση ξεπερασμένων στοιχείων,
- την Transitional, στην οποία επιτρέπονται τα ξεπερασμένα στοιχεία,
- την Frameset, στην οποία επιτρέπονται μόνο στοιχεία frame.
- Αρχικά η έκδοση είχε το κωδικό όνομα «Cougar,[19] Η HTML 4.0 υιοθέτησε πολλά στοιχεία και ιδιότητες που προηγουμένως χρησιμοποιούνταν μόνο από συγκεκριμένους browser, αλλά ταυτόχρονα προσέβλεπε στην σταδιακή κατάργηση των δυνατοτήτων οπτικής διαμόρφωσης του Netscape, σημειώνοντάς τις ως ξεπερασμένες, και προτείνοντας τα CSS στη θέση τους. Η HTML 4 είναι μια εφαρμογή του SGML, σύμφωνη με το πρότυπο ISO 8879 - SGML.[20]
- Απρίλιος 1998
- Επανεκδίδεται η HTML 4.0[21] με μικρές αλλαγές, χωρίς να αλλάξει ο αριθμός έκδοσης.
- Δεκέμβριος 1999
- Δημοσιεύεται ως Σύσταση του W3C η HTML 4.01[22]. Προσέφερε τις ίδιες τρεις εκδοχές με την HMTL 4.0. Τα πιο πρόσφατα λάθη και παραλείψεις (errata) δημοσιεύτηκαν στις 12 Μαΐου 2001.[23]
- Μάιος 2000
- Με το ISO/IEC 15445:2000[24][25] προτυποποιείται η ISO HTML, βασισμένη στην HTML 4.01 Strict, ως διεθνές πρότυπο ISO/IEC. Αυτό το πρότυπο εμπίπτει στον τομέα του ISO/IEC JTC1/SC34 για τις γλώσσες περιγραφής και επεξεργασίας εγγράφων.[24]
- Από τα μέσα του 2008, η HTML 4.01 και το ISO/IEC 15445:2000 είναι οι πιο πρόσφατες εκδόσεις της HTML. Παράλληλα αναπτύχθηκε η XHTML, βασισμένη στην XML, η οποία απασχόλησε την Ομάδα Εργασίας του W3C για την HTML από την αρχή μέχρι τα μέσα της δεκαετίας του 2000.
Χρονικό εκδόσεων πρόχειρων της HTML
[Επεξεργασία | επεξεργασία κώδικα]
- Οκτώβριος 1991
- Πρώτη δημοσίευση του HTML Tags,[5] ενός ανεπίσημου εγγράφου του CERN αναφέρει δώδεκα ετικέτες HTML.
- Ιούνιος 1992
- Πρώτο ανεπίσημο πρόχειρο του HTML DTD,[26] με επτά[27][28][29] αναθεωρήσεις (15 Ιουλίου, 6 Αυγούστου, 18 Αυγούστου, 17 Νοεμβρίου, 19 Νοεμβρίου, 20 Νοεμβρίου, 22 Νοεμβρίου)
- Νοέμβριος 1992
- Ανεπίσημο πρόχειρο HTML DTD 1.1 (το πρώτο με αριθμό έκδοσης, βασισμένο στις αναθεωρήσεις RCS, οι οποίες ξεκινούν με 1.1 αντί για 1.0)[29]
- Ιούνιος 1993
- Δημοσιεύεται η Hypertext Markup Language[30] από την Ομάδα Εργασίας IIIR του IETF ως ένα πρόχειρο για το Διαδίκτυο (κάτι σαν εισήγηση για πρότυπο). Αντικαταστάθηκε από μια δεύτερη έκδοση[31] ένα μήνα αργότερα, ακολουθούμενη από έξι ακόμα πρόχειρα δημοσιευμένα από το ίδιο το IETF[32] τα οποία τελικά οδήγησα στην HTML 2.0 με το RFC1866.
- Νοέμβριος 1993
- Δημοσιεύτηκε η HTML+ από το IETF ως Πρόχειρο-Διαδικτύου, και ως ανταγωνιστική πρόταση για το πρόχειρο της Hypertext Markup Language. Έληξε τον Μάιο του 1994.
- Απρίλιος 1995 (γραμμένη τον Μάρτιο του 1995)
- Η HTML 3.0[33] προτάθηκε ως πρότυπο από το IETF, αλλά η πρόταση έληξε πέντε μήνες αργότερα χωρίς άλλη ενεργεια. Περιείχε πολλές από τις δυνατότητες που συμπεριλαμβάνονταν στην πρόταση του Raggett για την HTML+, όπως την υποστήριξη για πίνακες, τη ροή κειμένου γύρω από εικόνες και την προβολή πολύπλοκων μαθηματικών τύπων.[34]
- Το W3C ξεκίνησε την ανάπτυξη του δικού του Arena browser ως δοκιμαστική πλατφόρμα για την HTML 3 και για τα CSS[35][36][37] αλλά η HTML 3.0 δεν πέτυχε, για διάφορους λόγους. Το πρόχειρο θεωρήθηκε υπερβολικά μακρύ, με 150 σελίδες, και ο ρυθμός ανάπτυξης του browser, καθώς και ο αριθμός των ενδιαφερόμενων μερών υπερέβαιναν τις δυνατότητες του IETF.[15] Οι εταιρείες που διέθεταν browser, συμπεριλαμβανομένων των Microsoft και Netscape εκείνο τον καιρό, επέλεξαν να υλοποιήσουν διαφορετικά υποσύνολα των δυνατοτήτων του πρόχειρου της HTML 3, καθώς και να εισάγουν τις δικές του επεκτάσεις σ' αυτό.[15] Οι επεκτάσεις αυτές έλεγχαν εμφανισιακά στοιχεία των εγγράφων, αντίθετα με την «πεποίθηση [της ακαδημαϊκής κοινότητας μηχανικών] ότι το χρώμα, το παρασκήνιο, το μέγεθος και ο τύπος της γραμματοσειράς ήταν οπωσδήποτε έξω από το στόχος μιας γλώσσας της οποίας η μοναδική πρόθεση ήταν να καθορίσει πώς οργανώνεται ένα έγγραφο.»[15] Ο Dave Raggett, συνεργάτης του W3C για πολλά χρόνια, σχολίασε ότι «Μέχρι ενός σημείο, η Microsoft έκτισε την επιχειρηματική της δραστηριότητα στον Ιστό επεκτείνοντας τις δυνατότητες της HTML.»[15]
- Ιανουάριος 2008
- Δημοσιεύεται η HTML5 ως ένα Πρόχειρο Εργασίας από το W3C.[38]
- Παρότι η σύνταξη μοιάζει αρκετά με το SGML, η HTML5 δεν προσπαθεί πλέον να αποτελεί εφαρμογή του SGML, και ορίζεται ως αυτόνομη, μαζί με την XHTML5 η οποία βασίζεται στην XML.[39]
Εκδόσεις της XHTML
[Επεξεργασία | επεξεργασία κώδικα]Η XHTML είναι ξεχωριστή γλώσσα η οποία ως αναδιαμόρφωση της HTML 4.01 με χρήση της XML 1.0. Συνεχίζει να αναπτύσσεται:
- XHTML 1.0,[40] δημοσιεύτηκε στις 26 Ιανουαρίου 2000, ως Σύσταση του W3C, μετά αναθεωρήθηκε και επανεκδόθηκε την 1 Αυγούστου 2002. Προσφέρει τις ίδιες τρεις εκδοχές όπως η HTML 4.0 και 4.01, αναδιαμορφωμένες ως XML, με μικρούς περιορισμούς.
- XHTML 1.1,[41] δημοσιεύτηκε στις 31 Μαΐου 2001, ως Σύσταση του W3C. Βασίζεται στην XHTML 1.0 Strict, αλλά περιέχει μικρές αλλαγές, μπορεί να παραμετροποιηθεί, μπορεί να αναμορφωθεί χρησιμοποιώντας Αρθρώματα της XHTML, τα οποία δημοσιεύτηκαν στις 10 Απριλίου 2001, ως Σύσταση του W3C.
- XHTML 2.0,.[42][43] Δεν υπάρχει πρότυπο XHTML 2.0, είναι ένα πρόχειρο έγγραφο και θεωρείται ακόμα έργο σε εξέλιξη. Η XHTML 2.0 δεν είναι συμβατή με την XHTML 1.x και επομένως μπορεί πιο σωστά να χαρακτηριστεί ως μια νέα γλώσσα που είναι εμπνευσμένη από την XHTML παρά ως αναβάθμιση της υπάρχουσας XHTML 1.x.
- XHTML5, είναι αναβάθμιση της XHTML 1.x, και εξελίσσεται παράλληλα με την HTML5 στο ίδιο πρόχειρο.[44]
Σήμανση
[Επεξεργασία | επεξεργασία κώδικα]Η σήμανση HTML αποτελείται από μερικά βασικά συστατικά, συμπεριλαμβανομένων των στοιχείων (και των ιδιοτήτων τους), τους βασισμένους σε χαρακτήρες τύπους δεδομένων, τις αναφορές χαρακτήρων και τις αναφορές οντοτήτων. Ένα ξεχωριστό σημαντικό συστατικό είναι η δήλωση τύπου εγγράφου (document type declaration), η οποία ορίζει στο πρόγραμμα περιήγησης (browser) τον τρόπο εμφάνισης της σελίδας.
Στην HTML, το πρόγραμμα Hello world, ένα συνηθισμένο πρόγραμμα υπολογιστή που χρησιμεύει για τη σύγκριση γλωσσών προγραμματισμού, γλωσσών σεναρίων και γλωσσών σήμανσης, φτιάχνεται με 9 γραμμές κώδικα, παρότι οι νέες γραμμές είναι προαιρετικές στην HTML: