22
2. Θεωρητικό υπόβαθρο
Στο κεφάλαιο αυτό γίνεται ανάλυση του θεωρητικού υποβάθρου που χρησιμοποιήθηκε στο
πληροφοριακό σύστημα. Συγκεκριμένα, θα αναλυθούν οι γλώσσες προγραμματισμού που
χρησιμοποιήθηκαν για την υλοποίηση του συστήματος, καθώς και κάποιες βοηθητικές
εφαρμογές για την ανάπτυξη του λογισμικού.
2.1 HTTP & HTTPS
Το HTTP (Hypertext Transfer Protocol) [5] είναι ένα πρωτόκολλο που χρησιμοποιείται μεταξύ
του πελάτη (client) και του διακομιστή (server) και επιτρέπει την επικοινωνία μεταξύ άλλων
ιστοσελίδων. Το HTTP μπαίνει μπροστά από κάθε υπερσύνδεσμο και χρησιμοποιεί TCP
(Transmission Control Protocol) πρωτόκολλο, μέσω της πόρτας (port) 80 για την αποστολή και
λήψη δεδομένων από το διαδίκτυο. Η διαδικασία της επικοινωνίας μεταξύ client και server έχει
ως εξής. Ο client στέλνει ένα ερώτημα (request) στον HTTP server που φιλοξενεί (host) μία
ιστοσελίδα. Στη συνέχεια ο server απαντάει με ένα μήνυμα, όπως «HTTP/1.1 200 OK» που
σημαίνει ότι το ερώτημα εκτελέστηκε επιτυχώς.
Το αρχικό έγγραφο (documentation) που δημοσιεύτηκε το 1991 ως HTTP/0.9 αποτελούταν
μόνο από την μέθοδο GET. Μετά από 5 χρόνια το 1996 που αναπτύχθηκε περαιτέρω ως
HTTP/1.0, προστέθηκαν άλλοι δύο μέθοδοι η HEAD και η POST και το 1999 αναπτύχθηκαν
άλλες πέντε μέθοδοι, η OPTIONS, η PUT, η TRACE, η CONNECT και η DELETE. Τέλος το
2010 δημιουργήθηκε και η μέθοδος PATCH. Το HTTP πρωτόκολλο μέχρι και σήμερα διατηρεί
τα ίδια πρωτόκολλα που δημιουργήθηκαν ως και το 2010. Οι κωδικοί καταστάσεων των HTTP
που έχουν την μορφή 1XX δηλώνουν «Πληροφορία», 2XX δηλώνουν «Επιτυχία», 3XX
δηλώνουν «Ανακατεύθυνση», 4XX «Σφάλμα στην πλευρά του client» και 5XX δηλώνουν
«Σφάλμα στο server».
Το HTTPS (Hypertext Transfer Protocol Secure) όπως και το HTTP χρησιμοποιεί το TCP
πρωτόκολλο για την αποστολή και λήψη δεδομένων μέσω του port 443, έχοντας
κρυπτογραφημένη σύνδεση μέσω του TLS (Transport Layer Security). Αναλυτικότερα,
χρησιμοποιεί ένα δημόσιο κλειδί που στη συνέχεια αποκρυπτογραφείται από την client μεριά
(side). Το δημόσιο κλειδί αναπτύσσεται στο server side ως SSL πιστοποίηση και είναι
υπογεγραμμένη από την CA (Certification Authority). Έτσι κάθε επισκέπτης έχει