background image

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).  Έτσι  κάθε  επισκέπτης  έχει