HTTP

 


Εισαγωγή
Γενική Περιγραφή Αίτησης
Επικεφαλίδα της Αίτησης
Πληροφορία του Πελάτη
Γενική Περιγραφή Απάντησης
Πεδία Απάντησης

 

 

Εισαγωγή


Το WWW στηρίζεται στην αρχιτεκτονική πελάτη-εξυπηρετητή (client-server). Ένας WWW server είναι ένα πρόγραμμα του οποίου ο μοναδικός σκοπός του είναι να παρέχει αρχεία (γενικότερα πόρους) σε άλλα προγράμματα κάθε φορά που του ζητείται. Ένας WWW client είναι ένα πρόγραμμα το οποίο αλληλεπιδρά με τον χρήστη και μεταφέρει τις αιτήσεις του για αρχεία σε WWWservers. Το πρωτόκολλο που χρησιμοποιούν οι WWWclients και servers για την ολοκλήρωση των συναλλαγών τους είναι το HTTP (Hypertext Transfer Protocol).

 

 

Γενική Περιγραφή Αίτησης


Το HTTP πρωτόκολλο χρησιμοποιήθηκε στο WWW αρχικά το 1990. Βασίζεται στο μοντέλο αίτησης/απάντησης. Ο πελάτης αρχικοποιεί μια σύνδεση με τον εξυπηρετητή στέλνοντας του την αίτηση. Η αίτηση αποτελείται από τρία μέρη:

Την επικεφαλίδα της αίτησης (δηλαδή η πρώτη γραμμή της) η οποία δηλώνει το αρχείο που ζητάει ο πελάτης, την μέθοδο που θα εφαρμοστεί στο ζητούμενο αρχείο και την έκδοση του πρωτοκόλλου.
Πληροφορία του πελάτη η οποία περιγράφει τις δυνατότητες του και τις προτιμήσεις του.
Ένα προαιρετικό τμήμα δεδομένων.

 

 

Επικεφαλίδα της Αίτησης


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

Request-Line = Method Request-URI HTTP-Version

Η μέθοδος συνήθως είναι ένα από τα επόμενα:

GET: χρησιμοποιείται για την απόκτηση (retrieve) του αρχείου που περιγράφεται από το Request-URI.
HEAD: είναι όμοια με την προηγούμενη μέθοδο με την διαφορά ότι ο server που λαμβάνει την αίτηση επιστρέφει μόνο μεταπληροφορία που σχετίζεται με το ζητούμενο αρχείο (πχ. πότε τροποποιήθηκε τελευταία φορά, ποιο είναι το μέγεθος του) και όχι το ζητούμενο αρχείο.
POST: χρησιμοποιείται για να πληροφορήσει τον server ότι το τμήμα δεδομένων που εσωκλείεται στην αίτηση πρέπει να ληφθεί σαν είσοδος στο ζητούμενο αρχείο.

 

 

Πληροφορία του Πελάτη


Δίνεται η δυνατότητα στον πελάτη να στείλει στον server επιπλέον πληροφορία που πρέπει να λάβει υπόψιν του για την εξυπηρέτηση της αίτησης. Τα κυριότερα πεδία, είναι τα εξής:

Authorization: όταν απαιτείται κάποια πιστοποίηση του πελάτη που ζητά το συγκεκριμένο αρχείο.
If-Modified-Since: χρησιμοποιείται για την υλοποίηση ενός υπό συνθήκην GET. Αν το ζητούμενο αρχείο του server δεν έχει τροποποιηθεί μετά από την χρονική στιγμή που περιγράφεται στο πεδίο αυτό, ο server επιστρέφει μόνο μια ειδοποίηση με την πληροφορία αυτή. Διαφορετικά, επιστρέφει το τροποποιημένο ζητούμενο αρχείο. Ουσιαστικά, η πρόσθεση αυτού του πεδίου έγινε για λόγους βελτίωσης της απόδοσης του λειτουργίας του πρωτοκόλλου. Χωρίς το πεδίο αυτό, πρέπει να σταλλούν δυο αιτήσεις, για την υλοποίηση του υπό συνθήκηνGET. Mια με την μέθοδο HEAD για να αποκτήσουμε μεταπληροφορία για το αρχείο (και έτσι να διαπιστώσουμε τον χρόνο της τελευταίας τροποποίησης του) και σε περίπτωση που το αρχείο έχει τροποποιηθεί, ακόμα μια αίτηση με την μέθοδο GET για να αποκτηθεί το ίδιο το αρχείο.
User-Agent: παρέχει πληροφορία για το λογισμικό (WWW browser) που χρησιμοποιεί ο πελάτης για να στείλει την αίτηση και να λάβει την απάντηση.

 

 

Γενική Περιγραφή Απάντησης


Αφού ο WWW server λάβει και επεξεργαστεί την αίτηση, απαντά στον πελάτη με την μορφή μιας HTTP απάντησης:

Απάντηση = Απλή απάντηση / Σύνθετη απάντηση
Απλή απάντηση = [Ζητούμενο αρχείο]
Σύνθετη απάντηση = Επικεφαλίδα απάντησης, Πεδία απάντησης [Ζητούμενο αρχείο]

Η επικεφαλίδα της απάντησης αποτελείται από την έκδοση του HTTP πρωτόκολλου, ακολουθούμενη από έναν κωδικό αριθμό απάντησης και μια επεξήγηση του προηγούμενου αριθμού:

Επικεφαλίδα = HTTP-Version Code Phrase

Ο κωδικός αριθμός απάντησης είναι ένας τριψήφιος ακέραιος αριθμός ο οποίος δείχνει το αποτέλεσμα της επεξεργασίας της αίτησης του πελάτη από τον εξυπηρετητή. Το πρώτο ψηφίο καθορίζει και το είδος της απάντησης:

1 xx: Δεν χρησιμοποιείται ακόμη,θα χρησιμοποιηθεί μελλοντικά.
2 xx: Η αίτηση λήφθηκε και επεξεργάστηκε επιτυχώς από τον εξυπηρετητή.
3 xx: Ανακατεύθυνση. Το ζητούμενο αρχείο βρίσκεται σε κάποιον άλλον WWW server.
4 xx: Λάθος αίτησης. Η αίτηση του πελάτη πιθανόν να περιέχει συντακτικά λάθη και δεν μπορεί να εξυπηρετηθεί από τον WWW server.
5 xx: Ο server απέτυχε να εξυπηρετήσει την αίτηση εξαιτίας ενός δικού του σφάλματος.

 

 

Πεδία Απάντησης


Χωρίζονται σε δυο κατηγορίες:

Αυτά που περιέχουν επιπλέον πληροφορία σχετικά με την απάντηση και δεν μπορούν να τοποθετηθούν στην επικεφαλίδα της. Τα κυριότερα είναι:
server: παρέχει πληροφορία για το λογισμικό που χρησιμοποιήθηκε από τον server για να εξυπηρετήσει την αίτηση.
WWW-Authenticate: για να πληροφορήσει τον πελάτη ότι απαιτείται κάποια πιστοποίηση για να προσπελάσει το αρχείο.
Αυτά που περιέχουν πληροφορία σχετικά με το ζητούμενο αρχείο που επιστρέφει ο server στον πελάτη. Τα κυριότερα στην κατηγορία αυτή είναι:
Content-Encoding: κωδικοποίηση που έχει υποστεί το αρχείο.
Content-Length: το μέγεθος της απάντησης (δηλαδή του ζητούμενου αρχείου).
Expires: ημερομηνία μέχρι την οποία δεν θα τροποποιηθεί το αρχείο.
Last-Modified: ημερομηνία τελευταίας τροποποίησης του αρχείου.

 

 
 
     

Αρχή σελίδας
 
(c) 2001 created by Magnet Internet Services