Το αναγνωριστικό url δεν στάλθηκε. URI Uniform Resource Identifier

Εργασία με URI

Κάθε μέρα χρησιμοποιούμε Uniform Resource Identifiers (URI), όταν ψάχνουμε για κάτι στο WWW. Απαιτούνται URI για τον εντοπισμό και την αναζήτηση νέα εμφάνισηπόρος. Χρησιμοποιώντας ένα URI, μπορείτε να έχετε πρόσβαση όχι μόνο σε ιστοσελίδες, αλλά και σε διακομιστή FTP, υπηρεσία Web και τοπικά αρχεία.

Ο όρος χρησιμοποιείται συχνά αντί του URI Uniform Resource Locator (URL). Το URI είναι ένας γενικός όρος που χρησιμοποιείται για τη σύνδεση με πόρους. Το URL είναι ένα URI που σχετίζεται με δημοφιλή σχήματα URI όπως http, ftp και mailto. ΣΕ τεχνική τεκμηρίωσηο όρος URL δεν χρησιμοποιείται πλέον.

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

Ας αναλύσουμε τα μέρη του URI που συνδέονται με μια σελίδα στον ιστότοπο της Παγκόσμιας Γνώσης:

http://www.globalknowledge.net:80/training/generic.asp?pageid=1078&country=DACH

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

    Το πρόγραμμα τερματισμού σχήματος ακολουθείται από το όνομα διακομιστή ή τη διεύθυνση IP με διακεκομμένη δεκαδική σημείωση, για παράδειγμα www.globalknowledge.net.

    Μετά το όνομα διακομιστή ή τη διεύθυνση IP ακολουθεί ένας αριθμός θύρας που προσδιορίζει τη σύνδεση με συγκεκριμένη εφαρμογήστον διακομιστή. Εάν δεν έχει καθοριστεί αριθμός θύρας, χρησιμοποιείται ο προεπιλεγμένος αριθμός θύρας για αυτό το πρωτόκολλο (για παράδειγμα, θύρα 80 για HTTP).

    Μονοπάτικαθορίζει τη σελίδα (και τον κατάλογο) του ζητούμενου πόρου. Δεν αντιπροσωπεύει απαραίτητα ένα φυσικό αρχείο στον διακομιστή, αλλά μπορεί να δημιουργηθεί δυναμικά. Σε αυτήν την περίπτωση, η διαδρομή μοιάζει με /training/generic.asp.

    Από το μονοπάτι με σύμβολο; το τελευταίο τμήμα αυτού του URI διαχωρίζεται, ονομάζεται ερώτηση. Στο παράδειγμά μας, το αίτημα ορίζεται από τη γραμμή pageid=1078&country=DACH. Μια συμβολοσειρά ερωτήματος μπορεί να αποτελείται από πολλά στοιχεία, καθένα από τα οποία καθορίζει μια μεταβλητή και μια τιμή, που ενώνονται με ένα χαρακτήρα &. Πολλά στοιχεία ερωτήματος μπορούν να συνδυαστούν χρησιμοποιώντας το χαρακτήρα &. Έτσι, στο παράδειγμά μας, το πρώτο στοιχείο είναι pageid=1078 με τη μεταβλητή pageid και την τιμή 1078 και το δεύτερο στοιχείο είναι country=DACH.

    Τα τμήματα ενός πόρου μπορούν να αναγνωριστούν ως θραύσματα. Θραύσματαχρησιμοποιούνται για τη σύνδεση σε ενότητες σε μια σελίδα HTML. Στην ανάπτυξη ιστοσελίδων, τα τμήματα ονομάζονται επίσης σελιδοδείκτες. Ο χαρακτήρας # διαχωρίζει το αναγνωριστικό τμήματος από τη διαδρομή. Στη διεύθυνση URL http;//www.microsoft.com/net/basics/glossary.asp#NETFramework το τμήμα είναι η συμβολοσειρά #NETFramework.

Εάν ο χαρακτήρας # προστεθεί στη συμβολοσειρά ερωτήματος, τότε δεν είναι πλέον τμήμα. Μια διεύθυνση URL μπορεί να περιέχει μια συμβολοσειρά ερωτήματος ή ένα τμήμα, αλλά όχι και τα δύο.

Η χρήση πολλών χαρακτήρων είναι δεσμευμένη σε ένα URI - δεν μπορούν να εμφανίζονται σε ονόματα κεντρικών υπολογιστών ή διαδρομές επειδή είναι ειδικοί χαρακτήρες οριοθέτησης. Οι ακόλουθοι χαρακτήρες είναι δεσμευμένοι στο URI:

; / ? : @ & = + $ ,

Τάξη Uriαπό τον χώρο ονομάτων του συστήματος ενσωματώνει το URI. Περιέχει ιδιότητες και μεθόδους ανάλυσης, σύγκρισης και συνδυασμού URI.

Μπορείτε να δημιουργήσετε ένα αντικείμενο Uri περνώντας τη συμβολοσειρά URI στον κατασκευαστή:

Uri baseURI = νέο Uri("http://site");

Εάν υπάρχει ήδη ένα βασικό αντικείμενο URI, μπορείτε να δημιουργήσετε ένα νέο URI συνδυάζοντας το βασικό URI με ένα σχετικό URI:

Uri baseURI = νέο Uri("http://site"); Uri newURI = νέο Uri(baseURI, "my/csharp/web/level2/2_2.php");

Εάν το βασικό URI περιέχει ήδη μια διαδρομή, αγνοείται. Το νέο URI βασίζεται μόνο στο σχήμα, τη θύρα και το όνομα διακομιστή.

Η κλάση Uri έχει πολλά στατικά πεδία μόνο για ανάγνωση που σας επιτρέπουν να αποκτήσετε ορισμένα κοινά σχήματα:

Uri.UriSchemeFile

Ένα σχήμα αρχείου χρησιμοποιείται για πρόσβαση σε αρχεία τοπικά ή σε κοινόχρηστους πόρους δικτύου, οι οποίοι μπορούν να ονομαστούν σύμφωνα με την καθολική σύμβαση ονομασίας ( Universal Naming Convention, UNC).

Uri.UriSchemeFtp

Το πρωτόκολλο FTP με το σχήμα ftp χρησιμοποιείται για τη λήψη αρχείων από έναν διακομιστή ftp και, αντίθετα, για την τοποθέτηση αρχείων σε έναν διακομιστή ftp.

Uri.UriSchemeGopher

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

Uri.UriSchemeHttp, Uri.UriSchemeHttps

Αυτά τα δύο σχήματα είναι γνωστά: http και https. Το σχήμα https χρησιμοποιείται για ασφαλή ανταλλαγή.

Uri.UriSchemeMailto

Το σχήμα mailto χρησιμοποιείται για την αποστολή μηνυμάτων αλληλογραφίας.

Uri.UriSchemeNews, Uri.UriSchemeNntp

Τα σχήματα ειδήσεων και nntp χρησιμοποιούνται σε ομάδες συζητήσεων που χρησιμοποιούν το πρωτόκολλο NNTP.

Η τάξη Uri έχει στατικές μέθοδοιγια να ελέγξετε εάν το σχήμα και το όνομα κεντρικού υπολογιστή είναι σωστά: Η Uri.CheckSchemeName() επιστρέφει true εάν το όνομα του σχήματος είναι σωστό και η μέθοδος UriCheckHostName()όχι μόνο ελέγχει το όνομα κεντρικού υπολογιστή, αλλά επιστρέφει επίσης μια τιμή απαρίθμησης UriHostNameType που υποδεικνύει τον τύπο του κεντρικού υπολογιστή.

Η κλάση Uri έχει έναν τόνο ιδιοτήτων μόνο για ανάγνωση που σας επιτρέπουν να έχετε πρόσβαση σε όλα τα μέρη του URI. Ο παρακάτω πίνακας χρησιμοποιεί το URI παραπάνω ως παράδειγμα για να δείξει τη χρήση ιδιοτήτων:

AbsoluteUri Αυτή η ιδιότητα εμφανίζει το πλήρες URI. Εάν ο καθορισμένος αριθμός θύρας για ένα πρωτόκολλο είναι ίσος με τον προεπιλεγμένο αριθμό θύρας, ο κατασκευαστής Uri τον καταργεί αυτόματα. Για το παράδειγμά μας, η τιμή της ιδιότητας AbsoluteUri μοιάζει με αυτό: http://www.globalknowledge.net/t raining/generic.asp?pageid=1078&country=DACH. Εάν ένα όνομα αρχείου μεταβιβαστεί στον κατασκευαστή κλάσης Uri, η ιδιότητα AbsoluteUri προηγείται αυτόματα του ονόματος αρχείου με το σχήμα file://.
Σχέδιο Το σχήμα είναι το πρώτο μέρος του URI και σε αυτήν την περίπτωση αυτή η ιδιότητα επιστρέφει την τιμή http.
Πλήθος Η ιδιότητα Host εμφανίζει το όνομα κεντρικού υπολογιστή από το URI: www.globalknowledge.net
Εξουσία Εάν ο αριθμός θύρας είναι ίσος με τον αριθμό που χρησιμοποιείται από το προεπιλεγμένο πρωτόκολλο, η ιδιότητα Authority εμφανίζει την ίδια συμβολοσειρά με την ιδιότητα Host. Εάν χρησιμοποιείται διαφορετικός αριθμός θύρας, η ιδιότητα Authority εμφανίζει επίσης τον αριθμό θύρας.
HostNameType Ο τύπος του ονόματος κεντρικού υπολογιστή εξαρτάται από το όνομα που χρησιμοποιείται. Σε αυτήν την περίπτωση, λαμβάνεται η ίδια τιμή της απαρίθμησης UriHostNameType που συζητήθηκε παραπάνω.
Λιμάνι Χρησιμοποιώντας την ιδιότητα Port, λαμβάνεται ο αριθμός θύρας - 80.
AbsolutePath Μια απόλυτη διαδρομή ξεκινά μετά τον αριθμό θύρας στο URI και τελειώνει πριν από τη συμβολοσειρά ερωτήματος. Σε αυτή την περίπτωση είναι /training/generic.asp.
LocalPath Η τοπική διαδρομή δίνει την τιμή /training/generic.asp. Όπως μπορείτε να δείτε, για ένα αίτημα HTTP δεν υπάρχει διαφορά μεταξύ AbsolutePath και LocalPath. Η διαφορά προκύπτει εάν το URI αναφέρεται σε έναν κοινόχρηστο πόρο δικτύου. Για ένα URI στο αρχείο φόρμας:\\server\share\directory\file.txt, η ιδιότητα LocalPath επιστρέφει μόνο τα ονόματα καταλόγου και αρχείων και η ιδιότητα AbsolutePath περιλαμβάνει τα ονόματα διακομιστή και κοινόχρηστου στοιχείου.
Ερώτηση Η ιδιότητα Query εμφανίζει τη γραμμή που ακολουθεί τη διαδρομή: ?pageid=1078&country=DACH.
PathAndQuery Η ιδιότητα PathAndQuery δίνει τον συνδυασμό διαδρομής και συμβολοσειράς ερωτήματος: /training/generic.asp?pageid=1078&country=DACH.
Θραύσμα Εάν η διαδρομή ακολουθείται από ένα τμήμα, επιστρέφεται στην ιδιότητα Fragment. Η διαδρομή μπορεί να ακολουθηθεί μόνο από μια συμβολοσειρά ερωτήματος ή ένα τμήμα. Το θραύσμα αναγνωρίζεται από το σύμβολο #
Τμήματα Η ιδιότητα Segments επιστρέφει έναν πίνακα συμβολοσειρών που σχηματίζονται από τη διαδρομή. Σε αυτήν την περίπτωση έχουμε τρία τμήματα: /, training/ και generic.asp.
Πληροφορίες χρήστη Το όνομα χρήστη που έχει οριστεί στο URI μπορεί να διαβαστεί από την ιδιότητα UserInfo. Η διαβίβαση ονομάτων χρήστη είναι σύνηθες στο FTP και εάν έχει καθοριστεί ένας μη ανώνυμος χρήστης, όπως ftp:// [email προστατευμένο], τότε η ιδιότητα UserInfo θα επιστρέψει το myuser.

Εκτός από αυτές που αναφέρονται, υπάρχουν πολλές άλλες ιδιότητες που επιστρέφουν δυαδικές τιμές εάν το URI αντιπροσωπεύει ένα αρχείο, μια διαδρομή UNC, μια διεύθυνση βρόχου ή εάν ο προεπιλεγμένος αριθμός θύρας χρησιμοποιείται για ένα δεδομένο πρωτόκολλο. Αυτές οι ιδιότητες είναι IsFile, IsUnc, IsLoopback και IsDefaultPort αντίστοιχα.

1.4. URI Uniform Resource Identifier

Για να κατανοήσουμε πλήρως τον τρόπο αλληλεπίδρασης των εγγράφων HTML, πλοήγησης μεταξύ σελίδων και πού λαμβάνει γενικά δεδομένα ο υπολογιστής του χρήστη όταν εργάζεται με το δίκτυο, πρέπει να εξετάσουμε πώς και τι γίνεται πρόσβαση μέσω του Παγκόσμιου Δικτύου.

Πολλοί τύποι πόρων που φιλοξενούνται στο Διαδίκτυο, είτε πρόκειται για έγγραφα HTML, γραφικά ή αρχεία αρχειοθέτησης, είναι συνήθως αρχεία στον σκληρό δίσκο ενός υπολογιστή (διακομιστή) που είναι συνδεδεμένος στο δίκτυο. Κάθε πόρος συσχετίζεται με μια τιμή που μπορεί να χρησιμοποιηθεί για τον μοναδικό προσδιορισμό της τοποθεσίας του - ένα καθολικό αναγνωριστικό πόρου ή URI (Universal Resource Identifier). Τα URI χρησιμοποιούνται ευρέως τόσο όταν ο χρήστης αποκτά ανεξάρτητα πρόσβαση σε έναν πόρο (όταν, για παράδειγμα, ο χρήστης εισάγει το URI στη γραμμή διευθύνσεων του προγράμματος περιήγησης) όσο και κατά την πλοήγηση μεταξύ ιστοσελίδων. Τα URI χρησιμοποιούνται επίσης σε ένα έγγραφο HTML για να ενημερώνουν το πρόγραμμα περιήγησης πού να βρει πόρους (όπως εικόνες) που χρησιμοποιούνται στο ίδιο το έγγραφο.

Σημείωμα

Ο συμβολισμός URL χρησιμοποιείται επίσης συχνά στη βιβλιογραφία. Θα πρέπει να σημειωθεί ότι ένα URI είναι μια πιο γενική έννοια που περιλαμβάνει μια διεύθυνση URL: οποιαδήποτε διεύθυνση URL είναι ένα Uniform Resource Identifier και υπόκειται στους ίδιους κανόνες με ένα URI.

Ένα URI πόρου αποτελείται από τρία μέρη: το όνομα του μηχανισμού για την πρόσβαση στον πόρο, το όνομα τομέα του υπολογιστή και τη διαδρομή αρχείου του πόρου. Για να το δείξετε αυτό, εξετάστε ένα παράδειγμα:

Εδώ μπορείτε να δείτε ότι για πρόσβαση στον πόρο, ο οποίος στην περίπτωση αυτή είναι ένα έγγραφο HTML, χρησιμοποιείται το πρωτόκολλο HTTP (Hyper Text Transfer Protocol). Ο πόρος αποθηκεύεται σε έναν υπολογιστή με το όνομα τομέα somesite.com στο αρχείο ex_1.html που βρίσκεται στο φάκελο /info/examples.

Τα URI μπορούν επίσης να αναφέρονται σε τμήματα εγγράφων HTML, για παράδειγμα:

Χρησιμοποιώντας αυτό το URI, μπορείτε να αποκτήσετε πρόσβαση σε ένα τμήμα του εγγράφου HTML που ονομάζεται περιγραφή (θα καλύψουμε τον τρόπο δημιουργίας ονομάτων για θραύσματα εγγράφων HTML στο Κεφάλαιο 5).

Τα URI σάς επιτρέπουν επίσης να ανατρέχετε σε πόρους στον ίδιο υπολογιστή. Αυτό καθορίζει τη σχετική διαδρομή του πόρου. Για παράδειγμα, για να ανατρέξετε στο αρχείο /info/files/file1.jpg από ένα έγγραφο HTML που βρίσκεται στο φάκελο /info/examples, απλά πρέπει να καθορίσετε το URI /files/file1.jpg. Σε έγγραφα HTML, τέτοιοι σύνδεσμοι χρησιμοποιούνται για να υποδείξουν τις διαδρομές των εικόνων και άλλων αντικειμένων που χρησιμοποιούνται στα έγγραφα, αλλά δεν είναι άμεσα αποθηκευμένες σε αυτά.

Γενικά, τα URI θεωρούνται χωρίς διάκριση πεζών-κεφαλαίων. Ωστόσο, για να είστε απόλυτα σίγουροι για τη σωστή ερμηνεία του URI, δώστε προσοχή στην περίπτωση των χαρακτήρων στο URI υπερσυνδέσμων, εικόνων κ.λπ. Αυτό είναι χρήσιμο για την εξάλειψη καταστάσεων όταν, για παράδειγμα, όταν ο ιστότοπος εκτελείται σε υπολογιστής με Windows, όλοι οι υπερσύνδεσμοι λειτουργούν, αλλά όταν τοποθετούνται τοποθεσίες στο UNIX, ο διακομιστής αρνείται να λειτουργήσει (στο UNIX τα ονόματα αρχείων κάνουν διάκριση πεζών-κεφαλαίων).

URI Uniform Resource Identifier. Τα URI είναι γνωστά με πολλά ονόματα: διευθύνσεις WWW, Uniform Document Identifiers, Uniform Resource Identifiers, URIs και τέλος ως συνδυασμός Uniform Resource Locators, URLs και Uniform Resource Names, URNs. Το HTTP ορίζει μια διεύθυνση URL απλώς ως μια συμβολοσειρά μιας συγκεκριμένης μορφής που προσδιορίζει έναν πόρο με όνομα, τοποθεσία ή οποιοδήποτε άλλο χαρακτηριστικό. 3.2.1 Γενική σύνταξη. Τα URI στο HTTP μπορούν να αναπαρασταθούν σε απόλυτη μορφή απόλυτο URI ή σε σχέση με κάποιο γνωστό υποκείμενο σχετικό URI , ανάλογα με το περιβάλλον χρήσης τους. Οι δύο μορφές διαφέρουν στο ότι τα απόλυτα URI ξεκινούν πάντα με το όνομα του σχήματος ακολουθούμενο από άνω και κάτω τελεία.

URI absoluteURI σχετικό URI θραύσμα absoluteURI σχήμα uchar δεσμευμένο σχετικό URI καθαρό μονοπάτι abs μονοπάτι rel διαδρομή καθαρό μονοπάτι loc abs μονοπάτι abs μονοπάτι rel μονοπάτι rel μονοπάτι Παράμετροι διαδρομής ; διαδρομή ερωτήματος fsegment τμήμα fsegment 1 pchar τμήμα pchar params param param param pchar σχήμα 1 ALPHA DIGIT net loc pchar ? ερώτημα uchar δεσμευμένο τμήμα uchar δεσμευμένο pchar uchar uchar χωρίς κράτηση διαφυγής χωρίς κράτηση ALPHA DIGIT ασφαλές επιπλέον εθνική διαφυγή HEX HEX δεσμευμένο; επιπλέον ασφαλές μη ασφαλές εθνικό CTL SP οποιαδήποτε OCTET εκτός από ALPHA, DIGIT, δεσμευμένες, επιπλέον, ασφαλείς και μη ασφαλείς οκτάδες Πλήρεις λεπτομέρειες της σύνταξης και σημασιολογίας URL περιέχονται στα RFC 1738 και RFC 1808. Η κανονική σημείωση Beckus-Naur περιλαμβάνει εθνικούς χαρακτήρες που δεν επιτρέπονται σε κανονικούς Διευθύνσεις URL που ορίζονται από το RFC 1738, καθώς οι διακομιστές HTTP επιτρέπουν τη χρήση ενός συνόλου μη δεσμευμένους χαρακτήρες, και επομένως οι διακομιστής μεσολάβησης HTTP μπορούν να λαμβάνουν αιτήματα URI που δεν συμμορφώνονται με το RFC 1738. Το πρωτόκολλο HTTP δεν επιβάλλει περιορισμούς στα μήκη URI. Οι διακομιστές πρέπει να χειρίζονται οποιοδήποτε URI πόρων οποιουδήποτε μήκους που εξυπηρετούν και πρέπει να χειρίζονται URI απεριόριστου μήκους εάν εξυπηρετούν διακομιστές που βασίζονται σε GET που μπορούν να δημιουργήσουν ένα τέτοιο URI. Ο διακομιστής ΠΡΕΠΕΙ να επιστρέψει τον κωδικό κατάστασης 414 Request URI Too Long, Request-URI Too Long, εάν το URI είναι μεγαλύτερο από αυτό που μπορεί να χειριστεί ο διακομιστής.

Οι διακομιστές θα πρέπει να δίνουν προσοχή σε URI που είναι μεγαλύτερα από 255 byte, επειδή ορισμένοι παλαιότεροι πελάτες ή διακομιστής μεσολάβησης ενδέχεται να μην υποστηρίζουν σωστά αυτά τα μήκη. 3.2.2 URL HTTP. Το σχήμα Http χρησιμοποιείται για πρόσβαση σε πόρους δικτύου χρησιμοποιώντας το πρωτόκολλο HTTP. Αυτή η ενότητα ορίζει τη σύνταξη και τη σημασιολογία που ορίζεται από σχήμα για διευθύνσεις URL HTTP. Διεύθυνση URL http της θύρας κεντρικού υπολογιστή abs φιλοξενεί ένα έγκυρο όνομα τομέα μηχανήματος ή διεύθυνση IP με διακεκομμένη δεκαδική μορφή, όπως ορίζεται στην ενότητα 2.1 της θύρας RFC 1123 DIGIT Εάν η θύρα είναι κενή ή δεν έχει καθοριστεί, η θύρα 80 χρησιμοποιείται φιλοξενείται στον διακομιστή, περιμένοντας συνδέσεις TCP στο καθορισμένο λιμάνι, τον κεντρικό υπολογιστή και την απαιτούμενη διαδρομή URI πόρου - abs. Η χρήση διευθύνσεων IP σε διευθύνσεις URL θα πρέπει να αποφεύγεται στο μέτρο του δυνατού σύμφωνα με το RFC 1900. Εάν η διαδρομή abs δεν υπάρχει στη διεύθυνση URL, πρέπει να αντιμετωπίζεται ως τέτοια κατά τον υπολογισμό του αιτούμενου URI Request-URI του πόρου. 3.2.3

Τέλος εργασίας -

Αυτό το θέμα ανήκει στην ενότητα:

Πρωτόκολλο HTTP 1.1

Εξ ορισμού, το RFC 1945 HTTP 1.0 ήταν μια βελτίωση αυτού του πρωτοκόλλου, επιτρέποντας μια μορφή μηνύματος τύπου MIME που περιέχει μετα-πληροφορίες σχετικά με τα μηνύματα που μεταδίδονται, ωστόσο, το HTTP 1.0 δεν έλαβε επαρκώς υπόψη τα χαρακτηριστικά της εργασίας με ιεραρχική... Μια λίστα με RFC που σχετίζονται με τα θέματα που συζητούνται σε αυτή την εργασία δίνεται στην ενότητα Βιβλιογραφία. 1.1..

Εάν χρειάζεστε επιπλέον υλικό για αυτό το θέμα ή δεν βρήκατε αυτό που αναζητούσατε, συνιστούμε να χρησιμοποιήσετε την αναζήτηση στη βάση δεδομένων των έργων μας:

Τι θα κάνουμε με το υλικό που λάβαμε:

Εάν αυτό το υλικό σας ήταν χρήσιμο, μπορείτε να το αποθηκεύσετε στη σελίδα σας στα κοινωνικά δίκτυα:

Όλα τα θέματα σε αυτήν την ενότητα:

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

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

Σύγκριση UR
Σύγκριση UR. I. Όταν συγκρίνετε δύο URI για να αποφασίσετε εάν ταιριάζουν μεταξύ τους ή όχι, ο πελάτης ΠΡΕΠΕΙ να χρησιμοποιεί μια σύγκριση οκτάδα προς οκτάδα με διάκριση πεζών-κεφαλαίων αυτών των URI, με

Πλήρης ημερομηνία
Πλήρης ημερομηνία. Οι εφαρμογές HTTP επέτρεπαν ιστορικά τρεις διαφορετικές μορφές για την αναπαράσταση ημερομηνίας Sun, 06 Νοεμβρίου 1994 08 49 37 GMT RFC 822, όπως τροποποιήθηκε από το RFC 1123 Κυριακή, 06-Νοε-94 08 49 37 GMT

Πίνακες κωδικών συνόλων χαρακτήρων
Πίνακες κωδικών συνόλων χαρακτήρων. Το HTTP χρησιμοποιεί τον ίδιο ορισμό του όρου συνόλου χαρακτήρων που ορίζεται για το MIME Ο όρος σύνολο χαρακτήρων χρησιμοποιείται για να αναφέρεται σε μια μέθοδο που χρησιμοποιεί

Κωδικοποιήσεις περιεχομένου
Κωδικοποίηση περιεχόμενο περιεχομένουκωδικοποιήσεις. Η τιμή κωδικοποίησης περιεχομένου υποδεικνύει ποιος μετασχηματισμός κωδικοποίησης έχει εφαρμοστεί ή θα εφαρμοστεί στο αντικείμενο. Χρησιμοποιείται κωδικοποίηση περιεχομένου

Κωδικοποιήσεις μεταφοράς
Κωδικοποιήσεις μεταφοράς. Οι τιμές κωδικοποίησης μεταφοράς χρησιμοποιούνται για να υποδείξουν τον μετασχηματισμό κωδικοποίησης που έχει ή θα έπρεπε να εφαρμοστεί στην οντότητα-σώμα για τους σκοπούς της

Τύποι μέσων
Τύποι μέσων. Το HTTP χρησιμοποιεί MediaTypes Διαδίκτυο ΔιαδίκτυοΤύποι πολυμέσων στα πεδία Content-Type και Accept header για παροχή ανοιχτών και επεκτάσιμων δεδομένων και πληκτρολόγησης. μέσου τύπου t

Κανονοποίηση και προκαθορισμένες τιμές κειμένου
Κανονισμός και προκαθορισμένες έννοιες πληκτρολογήστε κείμενο. Οι τύποι μέσων Διαδικτύου καταχωρούνται σε κανονική μορφή. Γενικά, το σώμα του αντικειμένου που μεταδίδεται από το μήνυμα HTTP πρέπει να αντιπροσωπεύεται από

Πολυμερικοί τύποι
Πολυμερείς τύποι. Το MIME παρέχει έναν αριθμό πολυμερών τύπων - σχηματίζοντας ένα πακέτο ενός ή περισσότερων αντικειμένων μέσα στο σώμα ενός μεμονωμένου μηνύματος. Όλοι οι πολυμερείς τύποι χρησιμοποιούν μια κοινή σύνταξη, o

Tokens προϊόντων
Tokens προϊόντων. Τα διακριτικά προϊόντων χρησιμοποιούνται για να επιτρέπουν στις εφαρμογές επικοινωνίας να αναγνωρίζονται με βάση το όνομα και την έκδοση λογισμικού.

Ποιοτικές Αξίες
Ποιοτικές Αξίες. Το HTTP χρησιμοποιεί σύντομους αριθμούς κινητής υποδιαστολής για να υποδείξει τη σχετική σημασία των βαρών διαφόρων καθορισμένων παραμέτρων. Το βάρος είναι μια κανονικοποιημένη ουσία

Ετικέτες γλώσσας
Ετικέτες γλώσσας. Μια ετικέτα γλώσσας προσδιορίζει τη φυσική γλώσσα που ομιλείται, γράφεται ή χρησιμοποιείται με άλλο τρόπο από τους ανθρώπους για την ανταλλαγή πληροφοριών με άλλα άτομα. Γλώσσες μηχανής είναι

Ετικέτες οντοτήτων
Ετικέτες οντοτήτων. Οι ετικέτες αντικειμένων χρησιμοποιούνται για τη σύγκριση δύο ή περισσότερων αντικειμένων του ίδιου ζητούμενου πόρου. Το HTTP 1.1 χρησιμοποιεί ετικέτες οντοτήτων στα πεδία κεφαλίδας ETag

Μονάδες εμβέλειας
Μονάδες εμβέλειας. Το HTTP 1.1 επιτρέπει σε έναν πελάτη να ζητήσει μόνο μέρος ενός αντικειμένου. Το HTTP 1.1 χρησιμοποιεί μονάδες εύρους στα πεδία κεφαλίδας Εύρος και Περιεχόμενο-Εύρος

Τύποι μηνυμάτων
Τύποι μηνυμάτων. Τα μηνύματα HTTP χωρίζονται σε αιτήματα πελάτη προς τον διακομιστή και σε απαντήσεις διακομιστή στον πελάτη. Μήνυμα HTTP Αίτημα απόκρισης Μηνύματα HTTP 1.1 Τα μηνύματα αιτήματος και απάντησης χρησιμοποιούν μια γενική μορφή

Κεφαλίδες μηνυμάτων
Κεφαλίδες μηνυμάτων. Πεδία κεφαλίδας HTTP, τα οποία περιλαμβάνουν τα πεδία γενικής κεφαλίδας, κεφαλίδας αιτήματος, κεφαλίδας απάντησης και κεφαλίδας οντότητας-h

Σώμα μηνύματος
Σώμα μηνύματος. Το σώμα του μηνύματος HTTP, εάν υπάρχει, χρησιμοποιείται για να μεταφέρει το σώμα του αντικειμένου που σχετίζεται με το αίτημα ή την απάντηση. Το σώμα του μηνύματος-σώμα είναι διαφορετικό από το σώμα για

Μήκος μηνύματος
Μήκος μηνύματος. Όταν ένα σώμα μηνύματος υπάρχει σε ένα μήνυμα, το μήκος αυτού του σώματος καθορίζεται με μία από τις ακόλουθες μεθόδους κατά σειρά προτεραιότητας 1. Κάθε μήνυμα απάντησης που δεν είναι

Μέθοδος Μέθοδος
Μέθοδος Μέθοδος. Το διακριτικό μεθόδου καθορίζει τη μέθοδο που θα εφαρμοστεί στον πόρο που προσδιορίζεται από το αιτούμενο URI Request-URI. Η μέθοδος είναι διάκριση πεζών-κεφαλαίων. Μέθοδος ΕΠΙΛΟΓΕΣ GET HEAD PO

Κωδικός κατάστασης και επεξηγηματική φράση
Κωδικός κατάστασης και επεξηγηματική φράση. Το στοιχείο Status-Code είναι ένας ακέραιος κώδικας τριών bit για το αποτέλεσμα μιας προσπάθειας κατανόησης και εκτέλεσης του αιτήματος. Αυτοί οι κωδικοί ορίζονται πλήρως στην ενότητα

Επίμονες Συνδέσεις
Επίμονες Συνδέσεις. Στόχος. Πριν εισαχθούν μόνιμες συνδέσεις στο πρωτόκολλο, δημιουργήθηκε μια ξεχωριστή σύνδεση TCP για κάθε αίτημα URL, η οποία αύξησε το φορτίο στο HTTP από

Συζήτηση Διαπραγμάτευση
Συζήτηση Διαπραγμάτευση. Ένας διακομιστής HTTP 1.1 έχει το δικαίωμα να υποθέσει ότι ένας πελάτης HTTP 1.1 δεν υποστηρίζει μια μόνιμη σύνδεση εάν η κεφαλίδα σύνδεσης που αποστέλλεται στο αίτημα περιέχει το διακριτικό σύνδεσης σύνδεσης

Σωληνώσεις
Μεταφορική επεξεργασία Σωληνώσεις. Πελάτης που υποστηρίζει επίμονες συνδέσειςμπορεί να εκτελέσει διοχέτευση επεξεργασίας αιτημάτων, δηλαδή να στείλει πολλά αιτήματα χωρίς να περιμένει απάντηση σε καθένα

Πρακτικές Θεωρήσεις
Πρακτικές εκτιμήσεις. Οι διακομιστές έχουν συνήθως κάποια τιμή χρονικού ορίου μετά την οποία δεν θα υποστηρίζουν μια ανενεργή σύνδεση. Οι διακομιστές μεσολάβησης ενδέχεται να ορίσουν την τιμή του υψηλότερη

Απαιτήσεις μηνυμάτων
Απαιτήσεις για τη μετάδοση μηνυμάτων. Γενικές απαιτήσεις- Οι διακομιστές HTTP 1.1 θα πρέπει να υποστηρίζουν μόνιμες συνδέσεις και να χρησιμοποιούν μηχανισμούς ελέγχου ροής Δεδομένα TCPπροκειμένου να μειωθούν οι προσωρινές

Ασφαλείς μέθοδοι
Ασφαλείς μέθοδοι. Οι προγραμματιστές πρέπει να κατανοήσουν ότι το λογισμικό αντιπροσωπεύει τον χρήστη όταν αλληλεπιδρά με το Διαδίκτυο και το πρόγραμμα θα πρέπει να ενημερώνει τον χρήστη για οποιαδήποτε δραστηριότητα.

Καθορισμός κωδικών κατάστασης
Ορισμός κωδικών κατάστασης. Κάθε κωδικός κατάστασης που περιγράφεται παρακάτω περιλαμβάνει μια περιγραφή της μεθόδου ή των μεθόδων που μπορεί να ακολουθήσει και μετα-πληροφορίες που απαιτούνται στην απάντηση. 10.1 1xx - Ενημερώστε

Πρόσβαση στον έλεγχο ταυτότητας
Πρόσβαση στον έλεγχο ταυτότητας. Για να διαπιστωθεί η αυθεντικότητα Πρόσβαση HTTPπαρέχει έναν απλό μηχανισμό πρόκλησης-απόκρισης που μπορεί να χρησιμοποιηθεί από

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

Προσωρινή αποθήκευση σε HTTP
Προσωρινή αποθήκευση σε HTTP. Το HTTP χρησιμοποιείται συνήθως για κατανεμημένα συστήματα πληροφοριών, η αποτελεσματικότητα των οποίων μπορεί να βελτιωθεί χρησιμοποιώντας αποκρίσεις προσωρινής αποθήκευσης. Το πρωτόκολλο HTTP 1.1 περιλαμβάνει σελ

Η ορθότητα της κρυφής μνήμης
Η ορθότητα της κρυφής μνήμης. Μια έγκυρη κρυφή μνήμη πρέπει να ανταποκρίνεται σε ένα ερώτημα με την πιο ενημερωμένη απόκριση αντιστοίχισης ερωτήματος που είναι αποθηκευμένη από την κρυφή μνήμη που πληροί μία από τις ακόλουθες προϋποθέσεις: 1. Διαβιβάστηκε

Μηχανισμοί ελέγχου κρυφής μνήμης
Μηχανισμοί ελέγχου κρυφής μνήμης. Οι κύριοι μηχανισμοί κρυφής μνήμης στο HTTP 1.1 είναι ο χρόνος λήξης που καθορίζεται από τον διακομιστή και οι σιωπηρές οδηγίες επικύρωσης

Σαφείς προειδοποιήσεις πρακτόρων χρήστη
Σαφείς προειδοποιήσεις πρακτόρων χρήστη. Πολλοί πράκτορες χρήστη δίνουν τη δυνατότητα στους χρήστες να παρακάμπτουν βασικούς μηχανισμούς προσωρινής αποθήκευσης. Για παράδειγμα, ο παράγοντας χρήστη μπορεί να το επιτρέπει

Εξαιρέσεις από κανόνες και προειδοποιήσεις
Εξαιρέσεις από κανόνες και προειδοποιήσεις. Σε ορισμένες περιπτώσεις, ο χειριστής της κρυφής μνήμης μπορεί να τη ρυθμίσει ώστε να επιστρέφει ληγμένες απαντήσεις ακόμα κι αν δεν ζητηθούν από τον πελάτη.

Συμπεριφορά ελεγχόμενη από τον πελάτη
Συμπεριφορά ελεγχόμενη από τον πελάτη. Ενώ ο αρχικός διακομιστής και, σε μικρότερο βαθμό, οι ενδιάμεσες κρυφές μνήμες, με τη συμβολή τους στην ηλικία απόκρισης, είναι η κύρια πηγή πληροφοριών σχετικά με τις μη ενημερωμένες

Μοντέλο απαξίωσης
Μοντέλο απαξίωσης. Κατάργηση που καθορίζεται από τον διακομιστή. Η προσωρινή αποθήκευση HTTP λειτουργεί καλύτερα όταν οι κρυφές μνήμες μπορούν να αποφύγουν εντελώς τα αιτήματα στον αρχικό διακομιστή. Πρωτεύων μηχανισμός και

Ευρετική απαξίωση
Ευρετική απαξίωση. Δεδομένου ότι οι διακομιστές προέλευσης δεν καθορίζουν πάντα έναν ρητό χρόνο λήξης, οι κρυφές μνήμες HTTP συνήθως εκχωρούν ευρετικούς χρόνους λήξης χρησιμοποιώντας αλγόριθμους που

Υπολογισμός ηλικίας
Υπολογισμός ηλικίας. Για να γνωρίζουμε εάν ένα αντικείμενο που περιέχεται στην κρυφή μνήμη είναι φρέσκο, η κρυφή μνήμη πρέπει να γνωρίζει εάν η ηλικία του υπερβαίνει την περίοδο φρεσκάδας. Κεντρικοί υπολογιστές που χρησιμοποιούν HTTP, και ειδικά κεντρικοί υπολογιστές

Υπολογισμός απαξίωσης
Υπολογισμός απαξίωσης. Για να αποφασίσουμε εάν μια απόκριση είναι φρέσκια ή έχει λήξει, πρέπει να συγκρίνουμε τη διάρκεια ζωής της με την ηλικία της. Η ηλικία υπολογίζεται χρησιμοποιώντας τον αλγόριθμο που περιγράφεται στην ενότητα 13.2.3

Στάδια ανάπτυξης της ησυχαστικής παράδοσης
Στάδια ανάπτυξης της ησυχαστικής παράδοσης. Ησυχαστική παράδοση από τα ελληνικά. όρος - ειρήνη, σιωπή - μια ορισμένη σχολή πνευματικής πρακτικής, που αναπτύσσεται από τον 4ο αιώνα. μέχρι σήμερα. 7 Σε αυτό το μακρύ ταξίδι μια φορά

URI (Ενιαίο αναγνωριστικό πόρων) - ενοποιημένο (ομοιόμορφο) αναγνωριστικό πόρου. Το URI είναι μια συμβολοσειρά χαρακτήρων που σας επιτρέπει να αναγνωρίζετε οποιονδήποτε πόρο: έγγραφο, εικόνα, αρχείο, υπηρεσία, πλαίσιο e-mailκτλ. Πρώτα απ 'όλα, μιλάμε φυσικά για τους πόρους του Διαδικτύου και του Παγκόσμιου Ιστού. Τα URI παρέχουν έναν απλό και επεκτάσιμο τρόπο αναγνώρισης πόρων. Η επεκτασιμότητα των URI σημαίνει ότι υπάρχουν ήδη αρκετά συστήματα αναγνώρισης εντός των URI και πολλά άλλα θα δημιουργηθούν στο μέλλον.

Σχέση μεταξύ URI, URL και URN

Διάγραμμα Venn που δείχνει υποσύνολα του σχήματος URI: URL και URN.

Ένα URI είναι είτε URL είτε URN είτε και τα δύο.

  • Μια διεύθυνση URL είναι ένα URI που, εκτός από την αναγνώριση ενός πόρου, παρέχει επίσης πληροφορίες σχετικά με την τοποθεσία αυτού του πόρου.
  • Ένα URN είναι ένα URI που προσδιορίζει έναν πόρο μόνο σε ένα συγκεκριμένο χώρο ονομάτων (και επομένως, σε ένα συγκεκριμένο πλαίσιο), αλλά δεν υποδεικνύει τη θέση του. Για παράδειγμα, το URN urn:ISBN:0-395-36341-1 είναι ένα URI που οδηγεί στον πόρο (βιβλίο) 0-395-36341-1 στον χώρο ονομάτων ISBN, αλλά σε αντίθεση με μια διεύθυνση URL, ένα URN δεν δείχνει η τοποθεσία αυτού του πόρου: δεν αναφέρει σε ποιο κατάστημα μπορείτε να τον αγοράσετε ή σε ποιον ιστότοπο μπορείτε να τον κατεβάσετε.

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

Ιστορία

Το 1990, ο εντοπιστής πόρων URL εφευρέθηκε από τον Βρετανό επιστήμονα Tim Berners-Lee στη Γενεύη της Ελβετίας, εντός των τειχών του Ευρωπαϊκού Συμβουλίου για την Πυρηνική Έρευνα. Δεδομένου ότι το URL είναι το πιο χρησιμοποιούμενο υποσύνολο του URI, το 1990 θεωρείται επίσης το έτος γέννησης του URI. Αλλά για να μιλήσουμε αυστηρά, η ιδέα του URI τεκμηριώθηκε μόλις τον Ιούνιο του 1994 στο RFC 1630.

Μια νέα έκδοση του URI ορίστηκε το 1998 στο RFC 2396, οπότε και η λέξη Παγκόσμιοςστον τίτλο αντικαταστάθηκε από Στολή.

Ελαττώματα

Η διεύθυνση URL έχει γίνει μια θεμελιώδης καινοτομία στο Διαδίκτυο και οι αρχές URI έχουν τεκμηριωθεί για να διασφαλίζεται η πλήρης συμβατότητα με τις διευθύνσεις URL. Από εδώ προέρχεται το μεγάλο μειονέκτημα των URI, το οποίο προέρχεται ως κληρονομιά από διευθύνσεις URL. Τα URI, όπως και τα URL, μπορούν να χρησιμοποιούν μόνο ένα περιορισμένο σύνολο λατινικών χαρακτήρων και σημείων στίξης (ακόμα και λιγότερο από ASCII). Με άλλα λόγια, εάν θέλουμε να χρησιμοποιήσουμε κυριλλικούς χαρακτήρες, ή ιερογλυφικά, ή, ας πούμε, συγκεκριμένους χαρακτήρες της γαλλικής γλώσσας σε ένα URI, τότε θα πρέπει να κωδικοποιήσουμε το URI με τον ίδιο τρόπο που η Wikipedia κωδικοποιεί URL με χαρακτήρες Unicode. Για παράδειγμα, μια γραμμή όπως:

https://ru.wikipedia.org/wiki/Cyrillic

κωδικοποιημένο στη διεύθυνση URL ως:

https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0

Επειδή τα γράμματα όλων των αλφαβήτων εκτός από αυτό που χρησιμοποιείται σε αγγλικόςΤα λατινικά γράμματα και μετά τα URI με λέξεις σε άλλες γλώσσες (ακόμη και ευρωπαϊκά) χάνουν την ικανότητά τους να γίνονται αντιληπτά από τους ανθρώπους. Και αυτό έρχεται σε πλήρη αντίφαση με την αρχή του διεθνισμού που διακηρύσσεται από όλους τους κορυφαίους οργανισμούς του Διαδικτύου, συμπεριλαμβανομένων των W3C και ISOC. Το πρότυπο IRI έχει σχεδιαστεί για να λύσει αυτό το πρόβλημα. Διεθνοποιημένο Αναγνωριστικό Πόρων) - αναγνωριστικά διεθνών πόρων στα οποία θα μπορούσαν να χρησιμοποιηθούν χωρίς προβλήματα χαρακτήρες Unicode και τα οποία δεν θα παραβίαζαν τα δικαιώματα άλλων γλωσσών. Επίσης, ο δημιουργός του URI, Tim Berners-Lee, είπε ότι το σύστημα ονομάτων τομέα που βρίσκεται κάτω από τη διεύθυνση URL είναι μια κακή λύση, επιβάλλοντας μια ιεραρχική αρχιτεκτονική σε πόρους που δεν είναι κατάλληλοι για τον ιστό υπερκειμένου.

Δομή URI

URI = [σχήμα ":"] ιεραρχικό - Μέρος [ "?" αίτημα ] [ απόσπασμα "#" ]

Σε αυτό το λήμμα:

Σχέδιο

σχήμα πρόσβασης σε έναν πόρο (συχνά υποδεικνύει ένα πρωτόκολλο δικτύου), για παράδειγμα, http, ftp, αρχείο, ldap, mailto, urn

Ιεραρχικό-μέρος

περιέχει δεδομένα, συνήθως οργανωμένα σε ιεραρχική μορφή, τα οποία μαζί με δεδομένα σε μη ιεραρχική συνιστώσα αίτηση, χρησιμεύουν στον εντοπισμό ενός πόρου εντός του πεδίου εφαρμογής του σχήματος URI. Συνήθως ιεραρχικό-μέροςπεριέχει τη διαδρομή προς τον πόρο (και, ενδεχομένως, πριν από αυτόν, τη διεύθυνση του διακομιστή στον οποίο βρίσκεται) ή το αναγνωριστικό του πόρου (στην περίπτωση ενός URN).

Αίτηση

αυτό το προαιρετικό στοιχείο URI περιγράφεται παραπάνω.

Θραύσμα

(επίσης προαιρετικό στοιχείο)

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

Ανάλυση της δομής URI.Για τη λεγόμενη «ανάλυση» των URI τεχνολογία), δηλαδή, για να αποσυνθέσετε ένα URI στα συστατικά μέρη του και στη συνέχεια να τα αναγνωρίσετε, είναι πιο βολικό να χρησιμοποιήσετε το σύστημα κανονικών εκφράσεων, το οποίο είναι πλέον διαθέσιμο σε όλες σχεδόν τις σύγχρονες γλώσσες προγραμματισμού. Το RFC 3986 συνιστά τη χρήση του παρακάτω μοτίβου για την ανάλυση των URI:

Αυτό το μοτίβο περιλαμβάνει 9 ομάδες που υποδεικνύονται από τους παραπάνω αριθμούς (για περισσότερες πληροφορίες σχετικά με τα μοτίβα και τις ομάδες, βλ. Κανονικές εκφράσεις), οι οποίες αναλύουν πλήρως και με μεγαλύτερη ακρίβεια την τυπική δομή URI, όπου:

  • ομάδα 2 - σχήμα,
  • ομάδα 4 - πηγή,
  • ομάδα 5 - μονοπάτι,
  • ομάδα 7 - αίτημα,
  • ομάδα 9 - θραύσμα.

Έτσι, εάν χρησιμοποιείτε αυτού του προτύπουαναλύστε, για παράδειγμα, αυτό το τυπικό URI:

http://www.ics.uci.edu/pub/ietf/uri/#Σχετικά

τότε οι παραπάνω 9 ομάδες προτύπων θα δώσουν τα ακόλουθα αποτελέσματα αντίστοιχα:

  1. http:
  2. //www.ics.uci.edu
  3. www.ics.uci.edu
  4. /pub/ietf/uri/
  5. κανένα αποτέλεσμα
  6. κανένα αποτέλεσμα
  7. #Συγγενεύων
  8. Συγγενεύων

Παραδείγματα URI:

Απόλυτα URI

  • https://ru.wikipedia.org/wiki/URI
  • ftp://ftp.is.co.za/rfc/rfc1808.txt
  • file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml
  • file:///C:/file.wsdl
  • file:///Users/John/Documents/Projects/Web/MyWebsite/about.html
  • ldap:///c=GB?objectClass?one
  • mailto: [email προστατευμένο]
  • γουλιά: [email προστατευμένο]
  • news:comp.infosystems.www.servers.unix
  • data:text/plain;charset=iso-8859-7,%be%be%be
  • τηλ:+1-816-555-1212
  • telnet://192.0.2.16:80/
  • urn:oasis:names:specification:docbook:dtd:xml:4.1.2

2) Σχετικά URI

  • /relative/URI/with/absolute/path/to/resource.txt
  • //example.org/scheme-relative/URI/with/absolute/path/to/resource.txt
  • relative/path/to/resource.txt
  • ../../../resource.txt
  • resource.txt
  • /resource.txt#frag01
  • #frag01

[κενή συμβολοσειρά] - ισοδύναμο με την ανάλυση του αναγνωριστικού με το αποτέλεσμα [κενή συμβολοσειρά], δηλαδή ο σύνδεσμος οδηγεί στο προεπιλεγμένο αντικείμενο στο προεπιλεγμένο σχήμα

Υπηρεσία DNS

DNS - Σύστημα ονομάτων τομέα. Τα ονόματα τομέα DNS είναι συνώνυμα για τις διευθύνσεις IP, όπως και τα ονόματα στο βιβλίο διευθύνσεων του τηλεφώνου σας είναι συνώνυμα για τους αριθμούς τηλεφώνου. Είναι συμβολικά, όχι αριθμητικά. είναι πιο βολικά για απομνημόνευση και προσανατολισμό. φέρουν σημασιολογικό φορτίο. www.irnet.ru → πίνακες DNS →193.232.70.36 Τα ονόματα τομέα είναι επίσης μοναδικά, π.χ. Δεν υπάρχουν δύο πανομοιότυπα ονόματα τομέα στον κόσμο. Τα ονόματα τομέα, σε αντίθεση με τις διευθύνσεις IP, είναι προαιρετικά και αγοράζονται επιπλέον.

Ρύζι. 2. Ιεραρχία στο σύστημα DNS.

Οι διευθύνσεις που αναγράφονται στους φακέλους κατά την παράδοση επιστολών με κανονικό ταχυδρομείο είναι επίσης μοναδικές. Δεν υπάρχουν χώρες στον κόσμο με τα ίδια ονόματα. Και αν μερικές φορές επαναλαμβάνονται τα ονόματα των πόλεων, τότε σε συνδυασμό με τη διαίρεση σε μεγαλύτερες διοικητικές ενότητες όπως περιφέρειες και περιφέρειες γίνονται μοναδικές. Και τα ονόματα των δρόμων δεν πρέπει να επαναλαμβάνονται στην ίδια πόλη. Έτσι, η διεύθυνση, με βάση τα γεωγραφικά και διοικητικά ονόματα, προσδιορίζει μοναδικά τον προορισμό. Οι τομείς έχουν παρόμοια ιεραρχία. Τα ονόματα τομέα χωρίζονται μεταξύ τους με τελείες: lingvo.yandex.ru, krkime.com.

Το DNS έχει τα ακόλουθα χαρακτηριστικά:

  • Κατανεμημένη διοίκηση. Διαφορετικοί άνθρωποι ή οργανισμοί είναι υπεύθυνοι για διαφορετικά μέρη της ιεραρχικής δομής.
  • Κατανεμημένη αποθήκευση πληροφοριών. Κάθε κόμβος δικτύου πρέπει απαραίτητα να αποθηκεύει μόνο τα δεδομένα που περιλαμβάνονται σε αυτόν τομέα ευθύνης, και (πιθανώς) διευθύνσεις ριζικοί διακομιστές DNS.
  • Προσωρινή αποθήκευση πληροφοριών. Κόμπος Ισωςαποθηκεύστε έναν ορισμένο όγκο δεδομένων εκτός της περιοχής ευθύνης σας για να μειώσετε το φόρτο στο δίκτυο.
  • Ιεραρχική δομή, στο οποίο όλοι οι κόμβοι συνδυάζονται σε ένα δέντρο και κάθε κόμβος μπορεί είτε να καθορίσει ανεξάρτητα τη λειτουργία των χαμηλότερων κόμβων, ή αντιπρόσωπος(μετάδοση) τους σε άλλους κόμβους.
  • Κράτηση. Αρκετοί διακομιστές είναι (συνήθως) υπεύθυνοι για την αποθήκευση και τη διατήρηση των κόμβων (ζωνών) τους, διαχωρισμένους τόσο φυσικά όσο και λογικά, γεγονός που διασφαλίζει την ασφάλεια των δεδομένων και τη συνεχή λειτουργία ακόμη και αν ένας από τους κόμβους αποτύχει.

Επίπεδα τομέα.Υπάρχουν τρία επίπεδα τομέων.

Τομείς πρώτα ή κορυφαίο επίπεδο χωρίζονται σε δύο ομάδες:

1) Πρόκειται για τομείς με εδαφική σχέση, για παράδειγμα: .ru .by .ua .de .us, κ.λπ. Δηλαδή, πρόκειται για τομείς που έχουν εκχωρηθεί σε μια συγκεκριμένη χώρα. Χρησιμοποιώντας τα, μπορείτε, για παράδειγμα, να προσδιορίσετε σε ποια χώρα ανήκει ένας συγκεκριμένος ιστότοπος.

2) Η δεύτερη ομάδα τομέων πρώτου επιπέδου είναι τομείς με συγκεκριμένο σκοπό. Για παράδειγμα: .com - για εμπορικούς οργανισμούς, .info - για ιστότοπους πληροφοριών, .tv - για τηλεοπτικές εταιρείες κ.λπ. Χρησιμοποιώντας αυτούς τους τομείς, μπορείτε να προσδιορίσετε τη συγκεκριμένη εστίαση του ιστότοπου. Αν και, για να πούμε την αλήθεια, πρόσφατα χρησιμοποιούνται όλο και περισσότερο με οποιονδήποτε τρόπο και συχνά δεν τηρούν τον σκοπό τους.

Οι τομείς πρώτου επιπέδου δεν μπορούν να χρησιμοποιηθούν ως διεύθυνση του ιστότοπού σας. Χρησιμοποιούνται για τη δημιουργία τομέων δεύτερο επίπεδο , επομένως, μπορείτε να καταχωρίσετε έναν τομέα δεύτερου επιπέδου σε οποιονδήποτε από τους τομείς πρώτου επιπέδου. Ένας τομέας δεύτερου επιπέδου αποτελείται από τα ακόλουθα στοιχεία: www.site_name.first-level domain. Για παράδειγμα: www.webmastermix.ru. Συνιστάται η χρήση ονομάτων τομέα δεύτερου επιπέδου για τη διεύθυνση του ιστότοπου. Διαβάζονται και θυμούνται καλύτερα από τους ανθρώπους και γίνονται επίσης αντιληπτά μηχανές αναζήτησης. Επομένως, οι περισσότεροι ιστότοποι έχουν ονόματα τομέα σε αυτό το επίπεδο.

Επιπλέον, υπάρχουν τομείς τρίτο επίπεδο . Δημιουργούνται με βάση τομείς δεύτερου επιπέδου. Ο τομέας τρίτου επιπέδου μοιάζει με αυτό: www.forum.webmastermix.ru. Με την εγγραφή ενός τομέα δεύτερου επιπέδου, μπορείτε να δημιουργήσετε ανεξάρτητα όσους τομείς τρίτου επιπέδου με βάση αυτόν θέλετε. Μπορείτε να καταχωρίσετε ένα όνομα τομέα για τον ιστότοπό σας χρησιμοποιώντας ειδικές υπηρεσίες.

ΤΕΧΝΟΛΟΓΙΕΣ ΙΣΤΟΥ: HTML, JAVASCRIPT

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

Αρχικά, πρέπει να κατανοήσετε τις βασικές έννοιες των τεχνολογιών Ιστού: ιστότοπος και ιστοσελίδα. Μια ιστοσελίδα είναι η μικρότερη λογική μονάδα του World Wide Web, που είναι ένα έγγραφο που προσδιορίζεται μοναδικά από μια μοναδική διεύθυνση URL. Ένας ιστότοπος είναι μια συλλογή θεματικών σχετικών ιστοσελίδων που βρίσκονται στον ίδιο διακομιστή και ανήκουν στον ίδιο κάτοχο. Σε μια συγκεκριμένη περίπτωση, ένας ιστότοπος μπορεί να αντιπροσωπεύεται από μία μόνο ιστοσελίδα. Ο Παγκόσμιος Ιστός είναι η συλλογή όλων των ιστοσελίδων.

Η βάση ολόκληρου του World Wide Web είναι η γλώσσα σήμανσης υπερκειμένου HTML - Hyper Text Markup Language (Εικ. 3). Χρησιμεύει για τη λογική (σημασιολογική) σήμανση ενός εγγράφου (ιστοσελίδα). Μερικές φορές χρησιμοποιείται κατάχρηση για τον έλεγχο του τρόπου με τον οποίο εμφανίζεται το περιεχόμενο των ιστοσελίδων σε μια οθόνη οθόνης ή κατά την έξοδο σε έναν εκτυπωτή, κάτι που είναι θεμελιωδώς αντίθετο με την ιδεολογία που υιοθετείται στον Παγκόσμιο Ιστό.

Ρύζι. 3. Τεχνολογίες Ιστού

Τα Cascading Style Sheets (CSS) χρησιμοποιούνται για τον έλεγχο της εμφάνισης του περιεχομένου της ιστοσελίδας. Το CSS είναι από πολλές απόψεις παρόμοιο με τα στυλ που χρησιμοποιούνται στα δημοφιλή επεξεργαστή κειμένουΛέξη.

Οι γλώσσες δέσμης ενεργειών χρησιμοποιούνται για να προσθέσουν δυναμισμό σε ιστοσελίδες (αναπτυσσόμενα μενού, κινούμενα σχέδια). Η τυπική γλώσσα δέσμης ενεργειών στον Παγκόσμιο Ιστό είναι η JavaScript. Ο πυρήνας της γλώσσας JavaScript είναι το ECMAScript.

HTML, CSS, JavaScript είναι γλώσσες με τις οποίες μπορείτε να δημιουργήσετε όσο σύνθετους ιστότοπους θέλετε. Αλλά αυτό είναι απλώς γλωσσική υποστήριξη, ενώ στα προγράμματα περιήγησης τα έγγραφα αντιπροσωπεύονται ως μια συλλογή αντικειμένων, οι πολλοί τύποι των οποίων είναι το μοντέλο αντικειμένου προγράμματος περιήγησης (BOM). Το μοντέλο αντικειμένου προγράμματος περιήγησης είναι μοναδικό για κάθε μοντέλο και έτσι δημιουργεί προβλήματα κατά τη δημιουργία εφαρμογών μεταξύ προγραμμάτων περιήγησης. Ως εκ τούτου, η Κοινοπραξία Ιστού πρότεινε μοντέλο αντικειμένουέγγραφο (DOM), το οποίο είναι ένας τυπικός τρόπος αναπαράστασης ιστοσελίδων χρησιμοποιώντας ένα σύνολο αντικειμένων.

Σύνταξη σύγχρονο HTMLπεριγράφεται χρησιμοποιώντας την επεκτάσιμη γλώσσα σήμανσης (XML). Η XML θα σας επιτρέψει να δημιουργήσετε τις δικές σας γλώσσες σήμανσης, παρόμοιες με την HTML με τη μορφή DTD. Υπάρχουν πολλές τέτοιες γλώσσες: για την αναπαράσταση μαθηματικών και χημικών τύπων, γνώση κ.λπ.

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

E-MAIL

Ηλεκτρονικό ταχυδρομείο (email, e-mail, από το αγγλικό ηλεκτρονικό ταχυδρομείο) - τεχνολογία και οι υπηρεσίες που παρέχει για αποστολή και λήψη emails(ονομάζεται "γράμματα" ή " emails") πάνω από ένα κατανεμημένο δίκτυο υπολογιστών. Η κύρια διαφορά από άλλα συστήματα μετάδοσης μηνυμάτων είναι η δυνατότητα καθυστερημένης παράδοσης και ένα ανεπτυγμένο σύστημα αλληλεπίδρασης μεταξύ ανεξάρτητων διακομιστών αλληλογραφίας.

Το ηλεκτρονικό ταχυδρομείο καθιστά δυνατή την αποστολή και λήψη μηνυμάτων, την αυτόματη απάντηση σε επιστολές από ανταποκριτές χρησιμοποιώντας τις διευθύνσεις τους, την αποστολή αντιγράφων μιας επιστολής σε πολλούς παραλήπτες ταυτόχρονα, την προώθηση μιας ληφθείσας επιστολής σε άλλη διεύθυνση, τη χρήση λογικών ονομάτων αντί για διευθύνσεις (αριθμητικά ή ονόματα τομέα), δημιουργήστε πολλές υποενότητες ενός γραμματοκιβωτίου για διάφορους τύπους αλληλογραφίας, συμπεριλάβετε αρχεία κειμένου με γράμματα, χρησιμοποιήστε το σύστημα «ανακλαστήρας αλληλογραφίας» για να διεξάγετε συζητήσεις με μια ομάδα ανταποκριτών σας κ.λπ. Για να στείλετε ένα ταχυδρομικό μήνυμα μέσω e-mail, πρέπει να δώσετε μια διεύθυνση γραμματοκιβωτίου. Το γραμματοκιβώτιο ενός συνδρομητή email είναι μια περιοχή στον σκληρό δίσκο του διακομιστή αλληλογραφίας που προορίζεται για τον χρήστη.

Η ανάπτυξη της τεχνολογίας του Διαδικτύου οδήγησε στην εμφάνιση σύγχρονων πρωτοκόλλων ανταλλαγής μηνυμάτων, τα οποία παρέχουν μεγαλύτερες ευκαιρίες για επεξεργασία επιστολών, ποικιλία υπηρεσιών και ευκολία στη χρήση. Έτσι, για παράδειγμα, Πρωτόκολλο SMTP, που λειτουργεί με βάση την αρχή πελάτη-διακομιστή, έχει σχεδιαστεί για να στέλνει μηνύματα από έναν υπολογιστή στον παραλήπτη. Συνήθως, η πρόσβαση σε έναν διακομιστή SMTP δεν προστατεύεται από κωδικό πρόσβασης, επομένως μπορείτε να χρησιμοποιήσετε οποιονδήποτε γνωστό διακομιστή στο δίκτυο για να στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου. Σε αντίθεση με τους διακομιστές για την αποστολή επιστολών, η πρόσβαση σε διακομιστές για την αποθήκευση μηνυμάτων προστατεύεται με κωδικό πρόσβασης. Επομένως, πρέπει να χρησιμοποιήσετε διακομιστή ή υπηρεσία όπου υπάρχει λογαριασμός. Αυτοί οι διακομιστές λειτουργούν χρησιμοποιώντας τα πρωτόκολλα POP και IMAP, τα οποία διαφέρουν ως προς τον τρόπο αποθήκευσης μηνυμάτων.

Σύμφωνα με το πρωτόκολλο POP3, τα μηνύματα που φτάνουν σε μια συγκεκριμένη διεύθυνση αποθηκεύονται στον διακομιστή μέχρι να ληφθούν στον υπολογιστή κατά την επόμενη περίοδο λειτουργίας. Μετά τη λήψη των μηνυμάτων, μπορείτε να αποσυνδεθείτε από το δίκτυο και να ξεκινήσετε την ανάγνωση αλληλογραφίας. Έτσι, η χρήση αλληλογραφίας POP3 είναι η πιο γρήγορη και βολική στη χρήση.

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

Υπάρχουν πολλά πρωτόκολλα για τη λήψη μεταφορών αλληλογραφίας μεταξύ συστημάτων πολλών χρηστών.

Σύντομη περιγραφή ορισμένων εξ αυτών:

1) SMTP (απλό πρωτόκολλο μεταφοράς αλληλογραφίας)είναι ένα πρωτόκολλο δικτύου σχεδιασμένο για τη μετάδοση email μέσω δικτύων TCP/IP και η μετάδοση πρέπει απαραίτητα να εκκινείται από το ίδιο το σύστημα αποστολής.

Το MTA (Mail Transfer Agent) - πράκτορας μεταφοράς αλληλογραφίας - είναι το κύριο στοιχείο του συστήματος μετάδοσης Ταχυδρομείο στο Διαδίκτυο, που αντιπροσωπεύει αυτόν τον υπολογιστή δικτύου για το σύστημα ηλεκτρονικού ταχυδρομείου δικτύου. Συνήθως, οι χρήστες δεν λειτουργούν με το MTA, αλλά με το πρόγραμμα MUA (Mail User Agent), ένα πρόγραμμα-πελάτη ηλεκτρονικού ταχυδρομείου. Η αρχή της αλληλεπίδρασης φαίνεται σχηματικά στο σχήμα.

2) POP, POP2, POP3 (Πρωτόκολλο Post Office)- τρία αρκετά απλά, μη εναλλάξιμα πρωτόκολλα που έχουν σχεδιαστεί για να παραδίδουν αλληλογραφία σε έναν χρήστη από έναν κεντρικό διακομιστή αλληλογραφίας, να τη διαγράφουν από αυτόν και να αναγνωρίζουν τον χρήστη με όνομα/κωδικό πρόσβασης. Το POP περιλαμβάνει SMTP, το οποίο χρησιμοποιείται για τη μεταφορά αλληλογραφίας που προέρχεται από τον χρήστη. Τα μηνύματα αλληλογραφίας μπορούν να ληφθούν ως κεφαλίδες, χωρίς να λάβετε ολόκληρο το μήνυμα.

Μετά τη δημιουργία μιας σύνδεσης, το πρωτόκολλο POP3 περνά από τρεις διαδοχικές καταστάσεις

      1. Ο πελάτης εξουσιοδότησης υποβάλλεται σε διαδικασία ελέγχου ταυτότητας
      2. Ο πελάτης συναλλαγής λαμβάνει πληροφορίες σχετικά με την κατάσταση του γραμματοκιβωτίου, δέχεται και διαγράφει αλληλογραφία.
      3. Ο διακομιστής ενημέρωσης διαγράφει τα επιλεγμένα email και κλείνει τη σύνδεση.

3) IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (Πρωτόκολλο πρόσβασης μηνυμάτων Διαδικτύου) -παρέχει στον χρήστη πλούσιες ευκαιρίες για εργασία με γραμματοκιβώτια που βρίσκονται σε κεντρικό διακομιστή

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

o IMAP2 - χρησιμοποιείται σε σπάνιες περιπτώσεις.

o Το IMAP3 είναι μια μη συμβατή λύση και δεν χρησιμοποιείται.

o IMAP2bis - Η επέκταση IMAP2, επιτρέπει στους διακομιστές να κατανοούν τη δομή MIME (Επεκτάσεις αλληλογραφίας πολλαπλών χρήσεων Διαδικτύου) ενός μηνύματος, εξακολουθεί να χρησιμοποιείται.

o IMAP4 - επεξεργασμένο και διευρυμένο IMAP2bis, το οποίο μπορεί να χρησιμοποιηθεί οπουδήποτε.

o IMAP4rev1 - επεκτείνει το IMAP με ένα μεγάλο σύνολο λειτουργιών, συμπεριλαμβανομένων εκείνων που χρησιμοποιούνται στο DMSP (Distributed Mail System for Personal Computers).

4) Το ACAP (Application Configuration Access Protocol) είναι ένα πρωτόκολλο σχεδιασμένο να λειτουργεί με το IMAP4. προσθέτει τη δυνατότητα αναζήτησης συνδρομών και εγγραφής σε πίνακες μηνυμάτων, γραμματοκιβώτιακαι χρησιμοποιείται για την αναζήτηση βιβλίων διευθύνσεων.

5) Το DMSP (ή PCMAIL) είναι ένα πρωτόκολλο λήψης/αποστολής αλληλογραφίας, η ιδιαιτερότητα του οποίου είναι ότι ο χρήστης μπορεί να έχει περισσότερους από έναν σταθμούς εργασίας στη χρήση του. Ο σταθμός εργασίας περιέχει πληροφορίες κατάστασης σχετικά με την αλληλογραφία, τον κατάλογο μέσω του οποίου πραγματοποιείται η ανταλλαγή, ο οποίος, όταν συνδέεται στον διακομιστή, ενημερώνεται στην τρέχουσα κατάσταση του διακομιστή αλληλογραφίας.

6) Το MIME είναι ένα πρότυπο που ορίζει μηχανισμούς για την αποστολή διαφόρων τύπων πληροφοριών χρησιμοποιώντας ηλεκτρονικό ταχυδρομείο, συμπεριλαμβανομένου κειμένου σε γλώσσες άλλες από τα αγγλικά, που χρησιμοποιούν κωδικοποιήσεις χαρακτήρων εκτός του ASCII, καθώς και δυαδικό περιεχόμενο 8 bit όπως εικόνες, μουσική, ταινίες και προγράμματα.

Ανεξάρτητη εργασία.

Ακολουθήστε το παράδειγμα που δίνεται στο κείμενο (φυλλάδια) και αποθηκεύστε το στον δικό σας φάκελο στην επιφάνεια εργασίας σας.

9.2. Εργασία με δάσκαλο:

Εάν αντιμετωπίσετε δυσκολίες ή κάνετε λάθη, επικοινωνήστε με τον καθηγητή σας για να διορθώσει τα λάθη.

Μέχρι το τέλος του μαθήματος, δείξτε στον δάσκαλο μια αναφορά για την εργασία που ολοκληρώθηκε και λάβετε πίστωση για αυτήν την εργασία.

9.3. Έλεγχος του αρχικού και τελικού επιπέδου γνώσεων:

Δοκιμή σε υπολογιστή .


Σχετικές πληροφορίες.


Για να αποκτήσετε πρόσβαση σε οποιουσδήποτε πόρους δικτύου, πρέπει να γνωρίζετε πού βρίσκονται και πώς να αποκτήσετε πρόσβαση σε αυτούς. Ο Παγκόσμιος Ιστός χρησιμοποιεί ένα τυποποιημένο σχήμα διευθυνσιοδότησης και αναγνώρισης που λαμβάνει υπόψη την εμπειρία της διεύθυνσης και αναγνώρισης e-mail, Gopher, WAIS, telnet, ftp κ.λπ. - URL, Ενιαίος εντοπιστής πόρων.

URI(Uniform Resource Identifier) ​​(RFC 2396, Αύγουστος 1998) - μια συμπαγής σειρά χαρακτήρων για τον προσδιορισμό ενός αφηρημένου ή φυσικού πόρου. Ως πόρος νοείται κάθε αντικείμενο που ανήκει σε ένα συγκεκριμένο χώρο. Περιλαμβάνει και παρακάμπτει προηγουμένως καθορισμένες διευθύνσεις URL (RFC 1738/RFC 1808) και URN (RFC 2141, RFC 2611).

Ένα URI προορίζεται για τον μοναδικό προσδιορισμό οποιουδήποτε πόρου.

Ορισμένα υποσύνολα URI:

ΔΟΧΕΙΟ Uniform Resource Name - Ένα ιδιωτικό σχήμα URI "urn:" με ένα υποσύνολο "namespace" που πρέπει να είναι μοναδικό και αμετάβλητο ακόμα κι αν ο πόρος δεν υπάρχει πλέον ή δεν είναι προσβάσιμος.

Υποτίθεται ότι, για παράδειγμα, το πρόγραμμα περιήγησης ξέρει πού να αναζητήσει αυτόν τον πόρο.

Σύνταξη:

urn:namespace: data1.data2,more-data, όπου ο χώρος ονομάτων καθορίζει πώς χρησιμοποιούνται τα δεδομένα μετά το δεύτερο ":".

Παράδειγμα URN:

τεφροδόχος:ISBN: 0-395-36341-6

ISBN - ταξινομητής θεμάτων για εκδοτικούς οίκους

0-395-36341-6 - συγκεκριμένο αριθμόθέμα βιβλίου ή περιοδικού



Κατά τη λήψη του URN, το πρόγραμμα-πελάτη αποκτά πρόσβαση στον ISBN (ο κατάλογος "ταξινομητής θεμάτων για εκδοτικούς οίκους" στο Διαδίκτυο). Και λαμβάνει μια αποκωδικοποίηση του αριθμού θέματος "0-395-36341-6" (για παράδειγμα: "κβαντική χημεία").

Το URN χρησιμοποιείται ευρέως σε δίκτυα P2P (όπως το edonkey).

Ένα παράδειγμα URN που δείχνει μια εικόνα δίσκου Adobe Photoshop v8.0 στο δίκτυο edonkey:

urn:ed2k://|αρχείο|AdobePhotoshopv8.0.iso|940769280|b34c101c90b6dedb4071094cb1b9f2d3|/

ed2k - δείχνει στο δίκτυο

Adobe Photoshop v8.0.iso - όνομα αρχείου

940769280 - μέγεθος σε byte

- αναγνωριστικό αρχείου (υπολογισμένο χρησιμοποιώντας μια συνάρτηση κατακερματισμού)

Ενιαία διεύθυνση URL εντοπισμού πόρων:

URL(Uniform Resource Locator, RFC 1738) - ένας ενοποιημένος εντοπιστής (ευρετήριο) πόρων, ένας τυποποιημένος τρόπος καταγραφής μιας διεύθυνσης πόρων στο WWW και στο Διαδίκτυο. Μια διεύθυνση URL έχει μια ευέλικτη και επεκτάσιμη δομή για να υποδεικνύει τη θέση των πόρων στον ιστό με τον πιο φυσικό τρόπο, προσδιορίζοντας έναν πόρο από τον τρόπο πρόσβασης σε αυτόν (π.χ. "θέση στον ιστό" του) αντί να τον προσδιορίζει με το όνομα ή άλλα χαρακτηριστικά αυτού του πόρου.

Παραδείγματα διευθύνσεων URL:

http://www.ipm.kstu.ru/index.php

ftp://www.ipm.kstu.ru/

Ένα περιορισμένο σύνολο χαρακτήρων ASCII χρησιμοποιείται για την αναπαράσταση μιας διεύθυνσης.

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

<схема>://<логин>:<пароль>@<хост>:<порт>/<полный-путь-к-ресурсу >

σύστημα πρόσβασης σε πόρους: http, ftp, gopher, mailto, ειδήσεις, telnet, αρχείο, man, info, whatis, ldap, wais, κ.λπ.

login:password-όνομα χρήστη και κωδικό πρόσβασης που χρησιμοποιούνται για την πρόσβαση στον πόρο

πλήθοςτο όνομα τομέα ή τη διεύθυνση IP του κεντρικού υπολογιστή.

Λιμάνι-θύρα κεντρικού υπολογιστή για σύνδεση

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

Παραδείγματα διευθύνσεων URL:

http://example.com #query προεπιλεγμένη αρχική σελίδα

http://www.example.com/site/map.html #request μια δεδομένη σελίδα σε έναν καθορισμένο κατάλογο

http://example.com:81/script.php #connect σε μια μη τυπική θύρα

http://example.org/script.php?key=value #request με παραμέτρους που μεταβιβάζονται στο σενάριο

ftp://user: [email προστατευμένο]#σύνδεση σε διακομιστή ftp με εξουσιοδότηση

http://192.168.0.1/example/www #connection by διεύθυνση δικτύου

file:///srv/www/htdocs/index.html #open τοπικό αρχείο

gopher://example.com/1 #connect to gopher server

URL - Οι Ενιαίοι Εντοπιστές Πόρων περιγράφουν ρητά πώς να φτάσετε στο αντικείμενο.

Η εμφάνιση των URL ήταν μια σημαντική καινοτομία στο Διαδίκτυο. Ωστόσο, από τη στιγμή της εφεύρεσής του μέχρι σήμερα, το πρότυπο URL έχει ένα σοβαρό μειονέκτημα - μπορεί να χρησιμοποιήσει μόνο ένα περιορισμένο σύνολο χαρακτήρων, ακόμη μικρότερους από ό,τι στο ASCII: λατινικά γράμματα, αριθμούς και μόνο μερικά σημεία στίξης.

Αν θέλουμε να χρησιμοποιήσουμε κυριλλικούς χαρακτήρες, ή ιερογλυφικά, ή, ας πούμε, συγκεκριμένους γαλλικούς χαρακτήρες στη διεύθυνση URL, τότε οι χαρακτήρες που χρειαζόμαστε πρέπει να επανακωδικοποιηθούν με ειδικό τρόπο.

Στη ρωσική Wikipedia, βλέπετε καθημερινά παραδείγματα κωδικοποίησης URL, καθώς η ρωσική γλώσσα χρησιμοποιεί κυριλλικούς χαρακτήρες. Για παράδειγμα, μια γραμμή όπως:

http://ru.wikipedia.org/wiki/Microcredit

κωδικοποιημένο στη διεύθυνση URL ως:

http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%B5%D0%B4%D0 %B8%D1%82

Αυτή η μετατροπή πραγματοποιείται σε δύο στάδια: πρώτα, κάθε κυριλλικός χαρακτήρας κωδικοποιείται στο Unicode (UTF-8) σε μια ακολουθία δύο byte και, στη συνέχεια, κάθε byte αυτής της ακολουθίας γράφεται με δεκαεξαδικό συμβολισμό:

M → D0 και 9C → %D0%9C

και → D0 και B8 → %D0%B8

σε → D0 και BA → %D0%BA

p → D1 και 80 → %D1%80, κ.λπ.

Σύμφωνα με την προδιαγραφή URL, κάθε τέτοιος δεκαεξαδικός κώδικας byte προηγείται από ένα σύμβολο ποσοστού (%) - από εδώ προέρχεται ο αγγλικός όρος "percent-encoding", που υποδηλώνει τον τρόπο με τον οποίο κωδικοποιούνται οι χαρακτήρες σε URL και URI.

Δεδομένου ότι τα γράμματα όλων των αλφαβήτων υπόκεινται σε αυτόν τον μετασχηματισμό, εκτός βασικά λατινικά, τότε μια διεύθυνση URL με λέξεις στη συντριπτική πλειονότητα των γλωσσών (εκτός από Αγγλικά, Ιταλικά, Λατινικά) μπορεί να γίνει δυσανάγνωστη για τον άνθρωπο.

Όλα αυτά έρχονται σε αντίθεση με την αρχή του διεθνισμού που διακηρύσσεται από όλους τους κορυφαίους οργανισμούς του Διαδικτύου, συμπεριλαμβανομένων των W3C και ISOC. Το πρότυπο IRI (International Resource Identifier) ​​έχει σκοπό να λύσει αυτό το πρόβλημα - διεθνή αναγνωριστικά πόρων στα οποία θα μπορούσαν να χρησιμοποιηθούν χωρίς προβλήματα χαρακτήρες Unicode και, επομένως, δεν θα παραβίαζαν τα δικαιώματα άλλων γλωσσών.

Άλλα σχήματα URL

Σχέδιο HTTP.

Το σχήμα υποδεικνύει το αναγνωριστικό, τη διεύθυνση του μηχανήματος, τη θύρα TCP, τη διαδρομή στον κατάλογο διακομιστή, τις μεταβλητές και τις τιμές τους και την ετικέτα.

Σύνταξη:

http://[ [:@][:][?]]

http - όνομα σχήματος

χρήστη - όνομα χρήστη

host - όνομα κεντρικού υπολογιστή

λιμάνι - αριθμός θύρας

ερώτηση(<имя-поля>=<значение>{&<имя-поля>=<значение>) - συμβολοσειρά ερωτήματος

Ορίζεται στο RFC 2068. Από προεπιλογή, port=80.

Παραδείγματα:
http://ipm.kstu.ru/internet/index.php

Αυτός είναι ο πιο κοινός τύπος URI που χρησιμοποιείται σε έγγραφα WWW. Μετά το όνομα σχήματος (http) ακολουθεί μια διαδρομή που αποτελείται από τη διεύθυνση τομέα του μηχανήματος και την πλήρη διεύθυνση του εγγράφου HTML στο δέντρο διακομιστή HTTP.

Είναι επίσης δυνατό να χρησιμοποιήσετε μια διεύθυνση IP ως διεύθυνση μηχανής:

http://195.208.44.20/internet/index.php

Εάν ο διακομιστής πρωτοκόλλου HTTP εκτελείται σε κάτι διαφορετικό από το 80 Θύρα TCP, τότε αυτό αντικατοπτρίζεται στη διεύθυνση:

http://195.208.44.20:8080/internet/index.php

http://195.208.44.20/internet/index.php#metka1
Ο χαρακτήρας "#" διαχωρίζει το όνομα του εγγράφου από το όνομα της ετικέτας.

Οι μεταβλητές και οι τιμές τους μεταβιβάζονται ως εξής:
http://ipm.kstu.ru/internet/index.php?var1=value1&vard2=value2

Οι τιμές "var1" και "var2" είναι τα ονόματα των μεταβλητών και οι τιμές "value1" και "value2" είναι οι τιμές τους.

Σχέδιο FTP

Αυτό το σχήμασας επιτρέπει να διευθύνετε τα αρχεία αρχείων FTP.

Σύνταξη:

ftp://[ [:@][:]

ftp - όνομα σχήματος

χρήστη - όνομα χρήστη

κωδικός πρόσβασης - κωδικός χρήστη

host - όνομα κεντρικού υπολογιστή

λιμάνι - αριθμός θύρας

url-path - διαδρομή προς το αρχείο και το ίδιο το αρχείο

Ορίζεται στο RFC 1738. Από προεπιλογή, port=21, user=anonymous, password=διεύθυνση email, εάν έχει καθοριστεί το όνομα αλλά ο κωδικός πρόσβασης δεν είναι, τότε ζητείται στο παράθυρο διαλόγου.

έχει τη μορφή:

//...//[;type= ], Πού :

Παραδείγματα: ftp://ipm.kstu.ru/students/name/

Για να καθορίσετε το όνομα χρήστη και τον κωδικό πρόσβασης, πρέπει να το γράψετε ως εξής:
ftp://name:password@ftp://ipm.kstu.ru/students/name/

Σε αυτήν την περίπτωση, αυτές οι παράμετροι διαχωρίζονται από τη διεύθυνση του μηχανήματος με το σύμβολο «@» και μεταξύ τους με άνω και κάτω τελεία.

Σχέδιο MAILTO

Αυτό το σχέδιο έχει σχεδιαστεί για την αποστολή αλληλογραφίας.

Σύνταξη:

mailto:[ {,,...}][?]

mailto - όνομα σχήματος

e-mail-1 ( @) - πρώτη διεύθυνση email

χρήστη - όνομα χρήστη

host - όνομα κεντρικού υπολογιστή

e-mail-2 - δεύτερη διεύθυνση email

ερώτηση(<имя-поля-заголовка>=<значение>{&<имя-поля-заголовка>=<значение>) - συμβολοσειρά ερωτήματος

mailto: [email προστατευμένο]

Αυτό το σχήμα μεταφέρει πεδία και τις τιμές τους:

mailto: [email προστατευμένο]?subject=Email_subject&body=Text_which_will_be_inserted_in_the_email

Η διεύθυνση του παραλήπτη μπορεί επίσης να γραφτεί ως η τιμή του πεδίου προς:

mailto: [email προστατευμένο]?subject=Email_subject&body=Text_which_will_be_inserted_in_the_email

Τι είναι το HTTP;

Το πρώτο έγγραφο (αλλά όχι πρότυπο) είναι το RFC1945 (Πρωτόκολλο μεταφοράς υπερκειμένου -- HTTP/1.0 T. Berners-Lee, R. Fielding, H. Frystyk Μάιος 1996)

Τελευταία έκδοση - RFC2616 (Πρωτόκολλο μεταφοράς υπερκειμένου -- HTTP/1.1 R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee Ιούνιος 1999)

Πρωτόκολλο μεταφοράς υπερκειμένου - πρωτόκολλο μεταφοράς υπερκειμένου, πρωτόκολλο υψηλό επίπεδο(δηλαδή, επίπεδο εφαρμογής). Χρησιμοποιείται από την υπηρεσία WWW για τη μετάδοση ιστοσελίδων.

HTTP (HyperText Transfer Protocol, RFC 2616, τρέχουσα έκδοση HTTP/1.1) - πρωτόκολλο μεταφοράς υπερκειμένου. Αυτό το πρωτόκολλο προοριζόταν αρχικά για την ανταλλαγή εγγράφων υπερκειμένου, αλλά τώρα οι δυνατότητές του έχουν επεκταθεί σημαντικά (συγκεκριμένα, έχουν προστεθεί λειτουργίες υποστήριξης ροής).

HTTP - τυπικό πρωτόκολλο πελάτη-διακομιστή, τα μηνύματα ανταλλάσσονται σύμφωνα με το σχήμα «αίτημα-απόκριση» με τη μορφή εντολών ASCII. Ένα χαρακτηριστικό του πρωτοκόλλου HTTP είναι η δυνατότητα να προσδιορίζει στο αίτημα και την απόκριση τη μέθοδο αναπαράστασης του ίδιου πόρου σύμφωνα με διάφορες παραμέτρους: μορφή, κωδικοποίηση, γλώσσα κ.λπ. Χάρη στη δυνατότητα καθορισμού της μεθόδου κωδικοποίησης ενός μηνύματος ότι ο πελάτης και ο διακομιστής μπορούν να ανταλλάξουν δυαδικά δεδομένα, ωστόσο αυτό το πρωτόκολλοείναι κείμενο.

Το HTTP είναι ένα πρωτόκολλο σε επίπεδο εφαρμογής, αλλά χρησιμοποιείται επίσης ως «μεταφορά» για άλλα πρωτόκολλα εφαρμογών, όπως SOAP, XML-RPC, WebDAV.

Το πρωτόκολλο HTTP ορίζει μια μέθοδο αίτησης-απόκρισης αλληλεπίδρασης μεταξύ ενός προγράμματος πελάτη και ενός προγράμματος διακομιστή εντός της τεχνολογίας ΠαγκόσμιαΙστός.

Για να φορτώσει μια ιστοσελίδα στο πρόγραμμα περιήγησης πελάτη, στέλνει ένα ειδικό πρόγραμμα εγκατεστημένο στον υπολογιστή διακομιστή, που ονομάζεται διακομιστής http, ένα αντίστοιχο αίτημα και επεξεργάζεται τα δεδομένα που λαμβάνονται από αυτόν. Σε αυτήν την περίπτωση, η λειτουργία του προγράμματος περιήγησης είναι να ζητά από τον διακομιστή συγκεκριμένη σελίδα, λάβετε το και εμφανίστε το στην οθόνη του χρήστη. Ο διακομιστής αποδέχεται το αίτημα, αναζητά το ζητούμενο έγγραφο και δίνει στον πελάτη είτε τα περιεχόμενα του αρχείου που βρέθηκε είτε ένα μήνυμα σφάλματος εάν δεν βρέθηκε τέτοιο αρχείο ή η πρόσβαση σε αυτό απορρίπτεται για κάποιο λόγο. Ένα σημαντικό σημείο για την κατανόηση αυτής της διαδικασίας είναι ότι ο διακομιστής http δεν αναλύει το περιεχόμενο διαβιβασθέν έγγραφο. Σε γενικές γραμμές, ο διακομιστής http δεν ενδιαφέρεται για το τι υπάρχει μέσα στο αρχείο που ζητήθηκε, το μεταφέρει μόνο στο πρόγραμμα περιήγησης και το πρόγραμμα περιήγησης αναλαμβάνει όλη τη δουλειά της δομής και της εμφάνισης των λαμβανόμενων πληροφοριών.

Η αναζήτηση της ζητούμενης σελίδας πραγματοποιείται σε έναν συγκεκριμένο κατάλογο, ο οποίος εκχωρείται στον υπολογιστή διακομιστή για αυτόν τον ιστότοπο - ένας σύνδεσμος προς αυτόν τον κατάλογο υπάρχει στη διεύθυνση που έχει καταχωρίσει ο χρήστης. Στην περίπτωση που η πρόσβαση δεν γίνεται σε ένα συγκεκριμένο έγγραφο, αλλά στον ιστότοπο στο σύνολό του, ο διακομιστής http αντικαθιστά αυτόματα το λεγόμενο " αρχική σελίδα", το οποίο ονομάζεται index.htm ή index.html (σε ορισμένες περιπτώσεις, default.htm ή default.html). Αυτό το έγγραφο πρέπει να βρίσκεται στον ριζικό κατάλογο που έχει δεσμευτεί για τη φιλοξενία του ιστότοπού σας ή, εάν αναφέρεται συγκεκριμένα, σε έναν κατάλογο που ονομάζεται WWW. Όλα τα άλλα αρχεία μπορούν να τοποθετηθούν είτε στον ίδιο κατάλογο είτε σε υποκαταλόγους, κάτι που μερικές φορές είναι βολικό, ειδικά όταν ο ιστότοπος περιέχει πολλές θεματικές ενότητες ή επικεφαλίδες.

Εκτός από τους υποφακέλους που δημιουργείτε, στους οποίους είστε ελεύθεροι να τοποθετήσετε σχεδόν οποιοδήποτε περιεχόμενο χρειάζεστε, ο κατάλογος διακομιστή περιέχει συνήθως αρκετούς ακόμη καταλόγους που πρέπει να αναφέρονται ξεχωριστά. Πρώτον, αυτός είναι ο φάκελος CGI-BIN, όπου βρίσκονται τα σενάρια CGI και άλλες διαδραστικές εφαρμογές που ξεκινούν από τον ιστότοπό σας, καθώς και αρκετοί κατάλογοι υπηρεσιών που είναι απαραίτητοι για την κανονική λειτουργία του διακομιστή. Στο αρχικό στάδιο, απλά δεν πρέπει να τους δώσετε προσοχή. Μερικές φορές στον ίδιο κατάλογο όπου είναι αποθηκευμένο το index.html, υπάρχει ένας αριθμός πρόσθετων αρχείων: not_found.html - ένα έγγραφο που εμφανίζεται εάν ο διακομιστής http δεν μπορούσε να βρει το αρχείο που ζήτησε ο χρήστης, forbidden.html - εμφανίζεται ως μήνυμα σφάλματος, εάν απαγορεύεται η πρόσβαση στο ζητούμενο έγγραφο και, τέλος, το robots.txt - ένα αρχείο που περιγράφει συγκεκριμένα τους κανόνες για την ευρετηρίαση του ιστότοπού σας από τις μηχανές αναζήτησης.

Στις περισσότερες περιπτώσεις, και ειδικά κατά τη δημοσίευση μιας αρχικής σελίδας σε διακομιστές που παρέχουν δωρεάν φιλοξενία, η πρόσβαση στους καταλόγους υπηρεσιών και στο φάκελο CGI-BIN δεν επιτρέπεται στους χρήστες και η αλλαγή των περιεχομένων των αρχείων not_found και forbidden.html είναι επίσης αδύνατη. Αυτό είναι κάτι που πρέπει να λάβετε υπόψη εάν σκοπεύετε να συμπεριλάβετε οποιοδήποτε διαδραστικό περιεχόμενο στον πόρο σας που απαιτεί, τουλάχιστον, τη δυνατότητα τοποθέτησης αρχείων σε έναν από τους φακέλους της υπηρεσίας. Σε ορισμένες περιπτώσεις, ενδέχεται να σας απαγορευτεί η δημιουργία ένθετων καταλόγων στο διακομιστή, οπότε ο χρήστης θα πρέπει να είναι ικανοποιημένος με έναν μόνο κατάλογο που έχει εκχωρηθεί για τις ανάγκες σας.

Από όλα όσα αναφέρθηκαν, γίνεται σαφές ότι το πρόγραμμα περιήγησης πελάτη μπορεί να λαμβάνει και να επεξεργάζεται πληροφορίες από τον διακομιστή και να τις τοποθετεί και να τις αλλάζει μόνο εάν η μεταφόρτωση αρχείων στον διακομιστή υλοποιείται με βάση το πρωτόκολλο HTTP χρησιμοποιώντας ειδικά σενάρια CGI που περιλαμβάνονται στο Διακομιστής web-interface. Σε όλες τις άλλες περιπτώσεις, πρέπει να χρησιμοποιήσετε τον λεγόμενο διακομιστή ftp, στον οποίο μπορείτε να μεταφέρετε τα απαραίτητα αρχεία χρησιμοποιώντας ειδικό λογισμικό, μεταφορτώνοντάς τα αυτόματα στον κατάλογο που έχει διατεθεί για τον ιστότοπό σας. Και στις δύο περιπτώσεις, θα πρέπει να γνωρίζετε το όνομα σύνδεσης και τον κωδικό πρόσβασής σας για να αποκτήσετε πρόσβαση στο σύστημα. Θα πρέπει επίσης να θυμόμαστε ότι τα περισσότερα προγράμματα διακομιστών (ιδίως το Apache για πλατφόρμες συμβατές με UNIX) διακρίνουν μεταξύ πεζών και κεφαλαίων χαρακτήρων, επομένως όλα τα ονόματα αρχείων και οι επεκτάσεις τους πρέπει να γράφονται με πεζά γράμματα και πάντα με λατινικούς χαρακτήρες, για να αποφευχθούν σφάλματα . Το τελευταίο οφείλεται σε διαφορές στην επεξεργασία κωδικοποιήσεων ρωσικής γλώσσας, χαρακτηριστικές ορισμένων διακομιστών.

Το πρωτόκολλο HTTP λειτουργεί ως εξής: το πρόγραμμα-πελάτης δημιουργεί μια σύνδεση TCP με τον διακομιστή (τυποποιημένος αριθμός θύρας 80) και εκδίδει ένα αίτημα HTTP σε αυτόν. Ο διακομιστής επεξεργάζεται αυτό το αίτημα και εκδίδει μια απάντηση HTTP στον πελάτη.

Η αλληλεπίδραση μεταξύ του πελάτη και του διακομιστή Web πραγματοποιείται με την ανταλλαγή μηνυμάτων. Τα μηνύματα HTTP χωρίζονται σε αιτήματα πελάτη προς τον διακομιστή και σε απαντήσεις διακομιστή στον πελάτη.

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

γραμμή εκκίνησης

πεδίο κεφαλίδας 1

πεδίο κεφαλίδας 2

πεδίο κεφαλίδας Ν

σώμα μηνύματος

Κεφαλίδες πρωτοκόλλου HTTP

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

Γενικές κεφαλίδες, οι οποίες μπορούν να υπάρχουν τόσο στο αίτημα όσο και στην απάντηση.

Επικεφαλίδες αιτήματος, οι οποίες μπορούν να υπάρχουν μόνο στο αίτημα.

Κεφαλίδες απόκρισης, οι οποίες μπορούν να υπάρχουν μόνο στην απάντηση.

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

Κάθε κεφαλίδα αποτελείται από έναν τίτλο, έναν χαρακτήρα άνω και κάτω τελείας ":" και μια τιμή. Οι πιο σημαντικές επικεφαλίδες φαίνονται στον Πίνακα 1.

Πίνακας 1

Κεφαλίδες πρωτοκόλλου HTTP

Επικεφαλίδα Σκοπός
Κεφαλίδες αντικειμένων
Επιτρέπω Παραθέτει τις μεθόδους που υποστηρίζονται από τον διακομιστή
Περιεχόμενο-Κωδικοποίηση Ο τρόπος με τον οποίο κωδικοποιείται το σώμα του μηνύματος, για παράδειγμα για μείωση του μεγέθους
Περιεχόμενο-Μήκος Μήκος μηνύματος σε byte
Περιεχόμενο-Τύπος Περιέχει την ονομασία τύπου περιεχομένου MIME της απάντησης. Ανάλογα με την τιμή Content-Type, το πρόγραμμα περιήγησης ερμηνεύει την απόκριση ως μια σελίδα HTML, μια εικόνα gif ή jpeg, ένα αρχείο που θα αποθηκευτεί στο δίσκο ή κάτι άλλο και λαμβάνει τα κατάλληλα μέτρα. Ορισμένοι τύποι περιεχομένου: κείμενο/html - κείμενο σε μορφή HTML (ιστοσελίδα). κείμενο/απλό - απλό κείμενο (παρόμοιο με το Σημειωματάριο). εικόνα/jpeg - εικόνα σε μορφή JPEG. εικόνα / gif - το ίδιο, σε μορφή GIF. Μπορεί επίσης να μεταδώσει κωδικοποίηση για δεδομένα κειμένου.Για παράδειγμα: charset=windows-1251 charset=koi8-rus Content-Length - μήκος του περιεχομένου απόκρισης σε byte (μέγεθος αρχείου).
Τελευταία τροποποίηση - ημερομηνία και ώρα τελευταία αλλαγή
έγγραφο. ETag
Μια μοναδική ετικέτα πόρων στον διακομιστή που σας επιτρέπει να συγκρίνετε πόρους Λήγει
Η ημερομηνία και η ώρα που ο πόρος στον διακομιστή θα αλλάξει και πρέπει να ανακτηθεί ξανά
Τελευταία Τροποποίηση Ημερομηνία και ώρα τελευταίας τροποποίησης του περιεχομένου
Κεφαλίδες απόκρισης Ηλικία
Αριθμός δευτερολέπτων μετά τα οποία πρέπει να επαναληφθεί το αίτημα για να ληφθεί νέο περιεχόμενο Τοποθεσία
Το URI του πόρου για πρόσβαση για να αποκτήσετε το περιεχόμενο Επανάληψη-Μετά
Ημερομηνία και ώρα ή αριθμός δευτερολέπτων μετά από τα οποία το αίτημα πρέπει να επαναληφθεί για να ληφθεί επιτυχής απάντηση
Υπηρέτης Όνομα του λογισμικού διακομιστή που έστειλε την απάντηση
Κεφαλίδες αιτήματος Αποδέχομαι
Μια λίστα τύπων περιεχομένου που υποστηρίζονται από πρόγραμμα περιήγησης κατά σειρά προτίμησης προγράμματος περιήγησης, για παράδειγμα: Αποδοχή: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application /vnd ms-powerpoint, */* Αυτό είναι προφανώς απαραίτητο για την περίπτωση που ο διακομιστής μπορεί να εξάγει το ίδιο έγγραφο σε διαφορετικές μορφές. Η τιμή αυτής της παραμέτρου χρησιμοποιείται κυρίως από σενάρια CGI για τη δημιουργία μιας απάντησης προσαρμοσμένης για ένα δεδομένο πρόγραμμα περιήγησης.
Αποδοχή-Σετ χαρακτήρων Κωδικοποιήσεις χαρακτήρων στις οποίες ο πελάτης μπορεί να αποδεχτεί περιεχόμενο κειμένου
Αποδοχή-Κωδικοποίηση Ο τρόπος με τον οποίο ο διακομιστής μπορεί να κωδικοποιήσει το μήνυμα
Πλήθος Αριθμός κεντρικού υπολογιστή και θύρας από τον οποίο ζητείται το έγγραφο
If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Όνομα λογισμικού πελάτη - η τιμή είναι ο "κωδικός" του προγράμματος περιήγησης, για παράδειγμα: Mozilla/4.0 (συμβατό; MSIE 5.0; Windows 95; DigExt)
Γενικές Επικεφαλίδες
Σύνδεση Σύνδεση - μπορεί να πάρει τις τιμές Keep-Alive και να κλείσει. Το Keep-Alive σημαίνει ότι μετά την έκδοση αυτού του εγγράφου, η σύνδεση με τον διακομιστή δεν διακόπτεται και μπορούν να εκδοθούν περισσότερα αιτήματα. Τα περισσότερα προγράμματα περιήγησης λειτουργούν σε λειτουργία Keep-Alive, καθώς σας επιτρέπει να "κατεβάσετε" μια σελίδα html και εικόνες για αυτήν σε μία σύνδεση με τον διακομιστή. Αφού ρυθμιστεί, η λειτουργία Keep-Alive διατηρείται μέχρι το πρώτο σφάλμα ή έως ότου οριστεί ρητά το αίτημα σύνδεσης: κλείσιμο. κλείσιμο ("κλείσιμο") - η σύνδεση κλείνει αφού ανταποκριθεί σε αυτό το αίτημα.
Ημερομηνία Ημερομηνία και ώρα δημιουργίας του μηνύματος
Πράγμα Ειδικές εντολές που εξαρτώνται από την υλοποίηση σχετικά με το περιεχόμενο που μεταφέρεται
Μεταφορά-Κωδικοποίηση Μέθοδος κωδικοποίησης μηνύματος κατά τη μετάδοση

Σε ορισμένες κεφαλίδες, η τιμή είναι η ημερομηνία και η ώρα. Πρέπει να παρουσιάζονται στη μορφή που περιγράφεται στο RFC 1123, για παράδειγμα:

Το σώμα του μηνύματος περιέχει τις πραγματικές πληροφορίες που μεταδίδονται—το ωφέλιμο φορτίο του μηνύματος. Το σώμα του μηνύματος είναι μια ακολουθία οκτάδων (bytes). Το σώμα του μηνύματος μπορεί να κωδικοποιηθεί, με τη μέθοδο κωδικοποίησης που καθορίζεται στην κεφαλίδα του αντικειμένου Content-Encoding.

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

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

<Метод> <Идентификатор> <Версия HTTP>

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

HTTP/<версия>.<подверсия>

Μέθοδοι πρωτοκόλλου HTTP

Ας δούμε τις κύριες μεθόδους του πρωτοκόλλου HTTP.

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

Εάν η απάντηση του διακομιστή δεν είναι μήνυμα σφάλματος, τότε οι κεφαλίδες των αντικειμένων περιέχουν πληροφορίες που μπορούν να θεωρηθούν ως επιλογές σύνδεσης. Για παράδειγμα, η κεφαλίδα Allow παραθέτει όλες τις μεθόδους που υποστηρίζονται από τον διακομιστή για έναν δεδομένο πόρο.

Εάν το αναγνωριστικό πόρου που ζητήθηκε είναι αστερίσκος ("*"), τότε το αίτημα OPTIONS προορίζεται να απευθύνεται στο διακομιστή στο σύνολό του.

Εάν το αναγνωριστικό πόρου που ζητήθηκε δεν είναι αστερίσκος, τότε το αίτημα OPTIONS ισχύει για τις επιλογές που είναι διαθέσιμες κατά τη σύνδεση στον καθορισμένο πόρο.

Η μέθοδος GET σάς επιτρέπει να ανακτήσετε τυχόν πληροφορίες που σχετίζονται με τον πόρο που ζητήσατε. Στις περισσότερες περιπτώσεις, εάν το αναγνωριστικό πόρου που ζητήθηκε οδηγεί σε ένα έγγραφο (για παράδειγμα, ένα έγγραφο κειμένου, γραφική εικόνα, βίντεο), στη συνέχεια ο διακομιστής επιστρέφει τα περιεχόμενα αυτού του εγγράφου (περιεχόμενα αρχείου). Εάν ο ζητούμενος πόρος είναι μια εφαρμογή (πρόγραμμα) που δημιουργεί δεδομένα, τότε τα δεδομένα που δημιουργούνται επιστρέφονται στο σώμα του μηνύματος απάντησης, αντί για μια δυαδική εικόνα του εκτελέσιμου αρχείου. Αυτό χρησιμοποιείται, για παράδειγμα, κατά τη δημιουργία εφαρμογών CGI. Εάν το αναγνωριστικό του ζητούμενου πόρου οδηγεί σε έναν κατάλογο (κατάλογος, φάκελος), τότε, ανάλογα με τις ρυθμίσεις διακομιστή, είτε τα περιεχόμενα του καταλόγου (λίστα αρχείων) είτε τα περιεχόμενα ενός από τα αρχεία που βρίσκονται σε αυτόν τον κατάλογο (συνήθως index.html ή Default.htm). Στην τελευταία περίπτωση, το όνομα του φακέλου μπορεί να καθοριστεί είτε με είτε χωρίς το σύμβολο "/" στο τέλος. Εάν αυτός ο χαρακτήρας δεν υπάρχει στο τέλος του αναγνωριστικού, ο διακομιστής εκδίδει μία από τις απαντήσεις με ανακατεύθυνση (με κωδικούς κατάστασης 301 ή 302).

Γίνεται διάκριση μεταξύ "GET υπό όρους" στο οποίο το μήνυμα αιτήματος περιλαμβάνει κεφαλίδες αιτήματος If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match ή If-Range. Η υπό όρους μέθοδος GET ζητά τη μεταφορά ενός αντικειμένου μόνο εάν ικανοποιεί τις συνθήκες που περιγράφονται στις δεδομένες κεφαλίδες. Η υπό όρους μέθοδος GET προορίζεται να μειώσει τον περιττό φόρτο δικτύου, καθώς σας επιτρέπει να αποφύγετε την επαναφόρτωση δεδομένων που έχουν ήδη αποθηκευτεί από τον πελάτη.

Γίνεται επίσης διάκριση μεταξύ του "μερικού GET", στο οποίο το μήνυμα αίτησης περιλαμβάνει μια κεφαλίδα αιτήματος εύρους. Ένα μερικό GET ζητά να μεταφερθεί μόνο μέρος ενός αντικειμένου. Η μερική μέθοδος GET έχει σχεδιαστεί για να μειώνει την περιττή επιβάρυνση δικτύου ζητώντας μόνο μέρος ενός αντικειμένου όταν ένα άλλο τμήμα έχει ήδη ληφθεί από τον πελάτη. Η τιμή της κεφαλίδας Εύρος είναι το εύρος των byte που πρέπει να ανακτηθούν. Τα byte αριθμούνται ξεκινώντας από το 0. Τα byte έναρξης και λήξης της περιοχής διαχωρίζονται με έναν χαρακτήρα «–». Εάν χρειάζεται να λάβετε πολλά εύρη, παρατίθενται διαχωρισμένα με κόμματα.

Η μέθοδος HEAD είναι πανομοιότυπη με την GET, εκτός από το ότι ο διακομιστής δεν επιστρέφει το σώμα του μηνύματος στην απάντηση. Οι μεταπληροφορίες που περιέχονται στις κεφαλίδες απόκρισης HTTP σε ένα αίτημα HEAD είναι πανομοιότυπες με τις πληροφορίες που παρέχονται ως απόκριση σε ένα αίτημα GET. Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί για τη λήψη πληροφοριών σχετικά με ένα αντικείμενο αίτησης χωρίς να περάσει απευθείας το σώμα του αντικειμένου. Η μέθοδος HEAD χρησιμοποιείται συχνά για τον έλεγχο συνδέσεων υπερκειμένου.

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

Περίληψη υφιστάμενων πόρων;

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

Μεταφορά ενός μπλοκ δεδομένων, για παράδειγμα του αποτελέσματος μιας εισαγωγής σε μια φόρμα, στη διαδικασία επεξεργασίας.

Εκτέλεση ερωτημάτων σε βάσεις δεδομένων (DB).

Στην πραγματικότητα, η συνάρτηση που εκτελείται από τη μέθοδο POST καθορίζεται από την εφαρμογή στην οποία επισημαίνεται το αναγνωριστικό πόρου που ζητήθηκε. Μαζί με τη μέθοδο GET, η μέθοδος POST χρησιμοποιείται κατά τη δημιουργία εφαρμογών CGI. Το πρόγραμμα περιήγησης μπορεί να εκδίδει αιτήματα με τη μέθοδο POST κατά την υποβολή φορμών. Για να γίνει αυτό, το στοιχείο FORM του εγγράφου HTML που περιέχει τη φόρμα πρέπει να έχει ένα χαρακτηριστικό METHOD με την τιμή POST.

Μια ενέργεια που εκτελείται με τη μέθοδο POST ενδέχεται να εκτελέσει μια ενέργεια στο διακομιστή και να μην επιστρέψει περιεχόμενο ως αποτέλεσμα της λειτουργίας. Σε αυτήν την περίπτωση, ανάλογα με το αν η απάντηση περιλαμβάνει ένα σώμα μηνύματος που περιγράφει το αποτέλεσμα ή όχι, ο κωδικός κατάστασης στην απάντηση μπορεί να είναι είτε 200 (OK) είτε 204 (Χωρίς περιεχόμενο).

Εάν ο πόρος στον διακομιστή έχει δημιουργηθεί, η απάντηση περιέχει έναν κωδικό κατάστασης 201 (Δημιουργήθηκε) και περιλαμβάνει μια κεφαλίδα απόκρισης τοποθεσίας.

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

Η θεμελιώδης διαφορά μεταξύ των μεθόδων POST και PUT είναι η διαφορετική τιμή του αιτούμενου αναγνωριστικού πόρου. Το URI στην αίτηση POST προσδιορίζει τον πόρο που επεξεργάζεται το αντικείμενο που περιλαμβάνεται στο σώμα του μηνύματος. Αυτός ο πόρος θα μπορούσε να είναι η εφαρμογή που λαμβάνει τα δεδομένα. Αντίθετα, το URI σε ένα αίτημα PUT προσδιορίζει την οντότητα που περιλαμβάνεται στην αίτηση ως το σώμα του μηνύματος, δηλαδή ο παράγοντας χρήστη εκχωρεί το δεδομένο URI στον πόρο που περιλαμβάνεται.

Η μέθοδος DELETE ζητά από τον διακομιστή να διαγράψει έναν πόρο που έχει το ζητούμενο αναγνωριστικό. Ένα αίτημα με αυτήν τη μέθοδο μπορεί να απορριφθεί από τον διακομιστή εάν ο χρήστης δεν έχει δικαιώματα να διαγράψει τον πόρο που ζητήθηκε.

Η μέθοδος TRACE χρησιμοποιείται για την επιστροφή της μεταδιδόμενης αίτησης σε επίπεδο πρωτοκόλλου HTTP. Ο παραλήπτης της αίτησης (ο διακομιστής Web) στέλνει το ληφθέν μήνυμα πίσω στον πελάτη ως το σώμα ενός αντικειμένου απάντησης με κωδικό κατάστασης 200 (ΟΚ). Το αίτημα TRACE δεν πρέπει να περιέχει σώμα μηνύματος.

Το TRACE επιτρέπει στον πελάτη να δει τι λαμβάνει ο διακομιστής στο άλλο άκρο και να χρησιμοποιήσει αυτά τα δεδομένα για δοκιμές ή διαγνωστικά.

Εάν το αίτημα είναι επιτυχές, η απάντηση περιέχει ολόκληρο το μήνυμα αιτήματος στο σώμα του μηνύματος απάντησης και η κεφαλίδα αντικειμένου τύπου περιεχομένου είναι "μήνυμα/http".

Κωδικοί απόκρισης

Μετά τη λήψη και την ερμηνεία του μηνύματος αιτήματος, ο διακομιστής απαντά με ένα μήνυμα απόκρισης HTTP.

Η πρώτη γραμμή της απάντησης είναι η Γραμμή Κατάστασης. Αποτελείται από την έκδοση του πρωτοκόλλου, έναν αριθμητικό κωδικό κατάστασης, μια επεξηγηματική φράση, διαχωρισμένη με κενά και χαρακτήρες στο τέλος της γραμμής:

<Версия HTTP> <Код состояния> <Поясняющая фраза>

Η έκδοση του πρωτοκόλλου έχει την ίδια έννοια όπως στο αίτημα.

Το στοιχείο Status-Code είναι ένας ακέραιος τριψήφιος (τριψήφιος) κωδικός για το αποτέλεσμα της κατανόησης και της ικανοποίησης του αιτήματος. Μια Λόγος-Φράση είναι σύντομη περιγραφή κειμένουκωδικός κατάστασης. Ο κωδικός κατάστασης προορίζεται για επεξεργασία από το λογισμικό και η επεξηγηματική φράση προορίζεται για τους χρήστες.

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

1xx: Κωδικοί πληροφοριών - ελήφθη αίτημα, η επεξεργασία συνεχίζεται.

2xx: Επιτυχείς κωδικοί - η ενέργεια ελήφθη με επιτυχία, κατανοήθηκε και υποβλήθηκε σε επεξεργασία.

3xx: Κωδικοί ανακατεύθυνσης - πρέπει να γίνουν περαιτέρω ενέργειες για την ολοκλήρωση του αιτήματος.

4xx: Κωδικοί σφαλμάτων πελάτη - το αίτημα έχει συντακτικό σφάλμα ή δεν μπορεί να ολοκληρωθεί.

5xx: Κωδικοί σφάλματος διακομιστή - Ο διακομιστής δεν μπορεί να ολοκληρώσει ένα έγκυρο αίτημα.

Η Αιτία-φράση για κάθε κωδικό κατάστασης παρατίθεται στο RFC 2068 και συνιστάται, αλλά μπορεί να αντικατασταθεί με ισοδύναμες χωρίς να επηρεαστεί το πρωτόκολλο. Για παράδειγμα, σε εντοπισμένο Ρωσικές εκδόσειςΟι διακομιστές HTTP αντικαθιστούν αυτές τις φράσεις με ρωσικές. Ο Πίνακας 2 δείχνει τους κωδικούς απόκρισης διακομιστή HTTP.

Πίνακας 2

Κωδικοί απόκρισης διακομιστή HTTP

Κώδικας Επεξηγηματική φράση σύμφωνα με το RFC 2068 Αντίστοιχη επεξηγηματική φράση στα ρωσικά
1xx: Κωδικοί πληροφοριών
Συνεχίζω Συνεχίζω
2xx: Επιτυχείς κωδικοί
ΕΝΤΑΞΕΙ ΕΝΤΑΞΕΙ
Δημιουργήθηκε Δημιουργήθηκε
Χωρίς Περιεχόμενο Χωρίς περιεχόμενο
Επαναφορά περιεχομένου Επαναφορά περιεχομένων
Μερικό περιεχόμενο Μερικό περιεχόμενο
3xx: Κωδικοί ανακατεύθυνσης
Μετακινήθηκε προσωρινά Μεταφέρθηκε προσωρινά
Μη Τροποποιημένο Δεν τροποποιήθηκε
4xx: Κωδικοί σφάλματος πελάτη
Κακό αίτημα Κακό αίτημα
Ανεξουσιοδότητος Ανεξουσιοδότητος
Δεν βρέθηκε Δεν βρέθηκε
Μέθοδος δεν επιτρέπεται Η μέθοδος δεν επιτρέπεται
Χρονικό όριο αιτήματος Το χρονικό όριο του αιτήματος έληξε
Σύγκρουση Σύγκρουση
Απαιτούμενο μήκος Απαιτούμενο μήκος
Αίτημα οντότητας πολύ μεγάλο Το αντικείμενο του αιτήματος είναι πολύ μεγάλο
5xx: Κωδικοί σφάλματος διακομιστή
Εσωτερικός διακομιστήςΣφάλμα Εσωτερικό σφάλμα διακομιστή
Δεν εφαρμόζεται Δεν εφαρμόζεται
Η υπηρεσία δεν είναι διαθέσιμη Η υπηρεσία δεν είναι διαθέσιμη
Η έκδοση HTTP δεν υποστηρίζεται Δεν υποστηρίζεται η έκδοση HTTP

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

Μία από τις πιο σημαντικές λειτουργίες ενός διακομιστή Ιστού είναι να παρέχει πρόσβαση σε μέρος του τοπικού συστήματος αρχείων. Για να γίνει αυτό, ένας συγκεκριμένος κατάλογος καθορίζεται στις ρυθμίσεις διακομιστή, ο οποίος είναι ο ριζικός κατάλογος για αυτόν τον διακομιστή. Για να δημοσιεύσετε ένα έγγραφο, δηλαδή να το καταστήσετε διαθέσιμο σε χρήστες που έχουν «επισκεφθεί» αυτόν τον διακομιστή (που έχουν συνδεθεί σε αυτόν μέσω HTTP), πρέπει να αντιγράψετε αυτό το έγγραφο στο ριζικός κατάλογοςΔιακομιστής Ιστού ή ένας από τους υποκαταλόγους του. Κατά τη σύνδεση μέσω HTTP, δημιουργείται μια διαδικασία στον διακομιστή με δικαιώματα χρήστη, η οποία, κατά κανόνα, δεν υπάρχει πραγματικά, αλλά δημιουργείται ειδικά για την προβολή πόρων διακομιστή. Διαμορφώνοντας τα δικαιώματα και τα δικαιώματα ενός συγκεκριμένου χρήστη, μπορείτε να ελέγξετε την πρόσβαση σε πόρους Ιστού.

Ας εξετάσουμε το πιο απλό Παράδειγμα HTTP- αίτημα. Αν πληκτρολογήσουμε τη διεύθυνση http://yandex.ru στο παράθυρο διεύθυνσης του προγράμματος περιήγησης, το πρόγραμμα περιήγησης θα καθορίσει τη διεύθυνση IP του διακομιστή yandex.ru και θα την στείλει στη θύρα 80 Αίτημα HTTP:

GET http://yandex.ru/ HTTP/1.0

Αποδοχή: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

Accept-Language: en

Cookie: yandexuid=2464977781018373381

User-Agent: Mozilla/4.0 (συμβατό; MSIE 5.5; Windows 98)
Διοργανωτής: yandex.ru

Παραπομπή: narod.ru

Proxy-Connection: Keep-Alive

Το αίτημα μεταδίδεται σε μη κρυπτογραφημένη μορφή κειμένου. Το πιο σημαντικό μέρος του αιτήματος βρίσκεται στην πρώτη γραμμή: Αυτός είναι ο τύπος αιτήματος (GET), η διεύθυνση URL του ζητούμενου εγγράφου (http://yandex.ru) και η έκδοση πρωτοκόλλου HTTP (HTTP/1.0). Ακολουθούν οι παράμετροι αιτήματος. Κάθε γραμμή αντιστοιχεί σε μία παράμετρο. Η γραμμή ξεκινά με το όνομα της παραμέτρου, ακολουθούμενη από άνω και κάτω τελεία και την τιμή της παραμέτρου.

Αποδοχή - ο τύπος δεδομένων που μπορεί να δεχτεί το πρόγραμμα περιήγησης (σε κωδικοποίηση MIME).

Accept-Language - η προτιμώμενη γλώσσα στην οποία το πρόγραμμα περιήγησης θέλει να δέχεται δεδομένα. User-Agent - τύπος προγράμματος που έστειλε το αίτημα.

Host – όνομα DNS (ή IP) του κεντρικού υπολογιστή στον οποίο απευθύνεται το αίτημα.

Cookie - cookies (δεδομένα που αποθηκεύτηκαν από τον διακομιστή τοπικός δίσκοςπελάτη, όταν επισκέφτηκε αυτόν τον οικοδεσπότη την τελευταία φορά).

Παραπομπή - ο οικοδεσπότης από τη σελίδα του οποίου στέλνουμε το αίτημα. Έτσι, για παράδειγμα, εάν βρισκόμαστε στη σελίδα http://narod.ru και κάνουμε κλικ στον σύνδεσμο http://yandex.ru εκεί, τότε το αίτημα θα σταλεί στον κεντρικό υπολογιστή yandex.ru και στο πεδίο αιτήματος παραπομπής θα περιέχει το όνομα κεντρικού υπολογιστή narod.ru.

Το σύνολο των παραμέτρων αιτήματος δεν είναι σταθερό. Εκτός από αυτές που αναφέρονται, ενδέχεται να υπάρχουν και άλλες παράμετροι.

Οι πιο ενδιαφέρουσες παράμετροι είναι η αναφορά και το cookie. Αυτές οι παράμετροι χρησιμοποιούνται κυρίως για την αναγνώριση του χρήστη στο διακομιστή.

Αίτημα GETμπορεί να περιέχει δεδομένα που αποστέλλονται από τον πελάτη στον διακομιστή. Μεταδίδονται απευθείας μέσω URL χρησιμοποιώντας το πρωτόκολλο CGI. Τα δεδομένα διαχωρίζονται από τη διεύθυνση URL με ένα "?" και συνδέεται με "&":

ΠΑΙΡΝΩ ?<параметр 1>=<значение 1>&<параметр 2>=<значение 2>&…

Αυτός ο τύπος μεταφοράς δεδομένων στον διακομιστή είναι βολικός, αλλά έχει περιορισμούς στον όγκο. Δεν είναι δυνατή η μεταφορά υπερβολικά μεγάλων ποσοτήτων δεδομένων μέσω URL. Για τέτοιους σκοπούς, υπάρχει ένας άλλος τύπος αιτήματος: ένα αίτημα POST. Ένα αίτημα POST είναι πολύ παρόμοιο με ένα GET, με τη μόνη διαφορά ότι τα δεδομένα σε ένα αίτημα POST αποστέλλονται χωριστά από την ίδια την κεφαλίδα αιτήματος:

Το σώμα του αιτήματος πρέπει να διαχωρίζεται από την κεφαλίδα με μια κενή γραμμή. Εάν ο διακομιστής συναντήσει μια κενή γραμμή σε μια αίτηση POST, τότε θεωρεί ότι έρχεται δίπλα ως το σώμα της αίτησης (μεταδιδόμενα δεδομένα). Σημειώστε τα εξής: η μορφή δεδομένων στο σώμα της αίτησης POST είναι αυθαίρετη. Αν και το CGI είναι η πιο συχνά χρησιμοποιούμενη μορφή, δεν απαιτείται. Επιπλέον, ένα αίτημα POST δεν απαιτεί σώμα αιτήματος και μπορεί επίσης να μεταδώσει δεδομένα μέσω URL.

Εκτός από τη μορφή CGI, μερικές φορές χρησιμοποιείται η λεγόμενη μορφή CGI για τη μεταφορά μεγάλων ποσοτήτων πληροφοριών (για παράδειγμα, αρχεία). πολυμερής μορφή (η μορφή των μεταδιδόμενων δεδομένων καθορίζεται από την παράμετρο Content-Type):

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

Εάν χρησιμοποιείτε Firefox, μπορείτε να χρησιμοποιήσετε την κονσόλα Ιστού του. Εμφανίζει τις κεφαλίδες των αιτημάτων και τα περιεχόμενα των μεταδιδόμενων μπισκότα. Για να το εκκινήσετε, ανοίξτε το μενού του προγράμματος περιήγησης, κάντε κλικ στο "Web Development" και επιλέξτε "Web Console". Στον πίνακα που εμφανίζεται, ενεργοποιήστε το κουμπί «Δίκτυο». Εισαγάγετε το όνομα της μεθόδου – post – στο πεδίο φίλτρου. Ανάλογα με τους στόχους σας, κάντε κλικ στο κουμπί υποβολής φόρμας απαιτούμενο αίτημαή ανανεώστε τη σελίδα. Το απεσταλμένο αίτημα θα εμφανιστεί στην κονσόλα. Κάντε κλικ σε αυτό για να δείτε περισσότερες λεπτομέρειες.

Google BrowserΤο Chrome διαθέτει ισχυρά εργαλεία εντοπισμού σφαλμάτων. Για να τα χρησιμοποιήσετε, κάντε κλικ στο εικονίδιο με το κλειδί και, στη συνέχεια, αναπτύξτε το στοιχείο "Προσαρμογή και διαχείριση του Google Chrome". Επιλέξτε Εργαλεία και εκκινήστε τα Εργαλεία προγραμματιστή. Στη γραμμή εργαλείων, επιλέξτε την καρτέλα Δίκτυο και υποβάλετε το αίτημά σας. Βρείτε το επιθυμητό αίτημα στη λίστα και κάντε κλικ σε αυτό για να μελετήσετε τις λεπτομέρειες.

ΣΕ Πρόγραμμα περιήγησης Operaυπάρχουν ενσωματωμένα εργαλεία για προγραμματιστές Opera Dragonfly. Για να τα εκκινήσετε, κάντε δεξί κλικ στην επιθυμητή σελίδα και επιλέξτε το στοιχείο μενού περιβάλλοντος "Επιθεώρηση στοιχείου". Μεταβείτε στην καρτέλα Δίκτυο των Εργαλείων προγραμματιστή και υποβάλετε το αίτημά σας. Βρείτε το στη λίστα και αναπτύξτε το για να εξετάσετε τις κεφαλίδες και τις απαντήσεις του διακομιστή.

Internet Explorer 9 περιέχει ένα κιτ που ονομάζεται "F12 Developer Tools" που παρέχει λεπτομερείς πληροφορίεςσύμφωνα με τα συμπληρωμένα αιτήματα. Εκκινούνται πατώντας το κουμπί F12 ή χρησιμοποιώντας το μενού "Service", το οποίο περιέχει το ομώνυμο στοιχείο. Για να δείτε το αίτημα, μεταβείτε στην καρτέλα "Δίκτυο". Βρείτε ένα δεδομένο ερώτημα στη σύνοψη και κάντε διπλό κλικ για να αναπτύξετε τις λεπτομέρειες.

Τα προγράμματα περιήγησης Chrome και Internet Explorer 9 περιέχουν ενσωματωμένα εργαλεία που σας επιτρέπουν να εξετάζετε τα απεσταλμένα αίτηση ανάρτησηςμε κάθε λεπτομέρεια. Για πλήρεις πληροφορίες, χρησιμοποιήστε τα ή Firefox με εγκατεστημένη την προσθήκη Firebug. Είναι πολύ βολικό για τη συχνή εξέταση ερωτημάτων, για παράδειγμα, κατά τον εντοπισμό σφαλμάτων σε ιστότοπους.

Εάν θέλετε να δείτε ένα αίτημα που αποστέλλεται από ένα πρόγραμμα διαφορετικό από το πρόγραμμα περιήγησης, χρησιμοποιήστε το πρόγραμμα εντοπισμού σφαλμάτων HTTP Fiddler. Λειτουργεί ως διακομιστής μεσολάβησης και παρακολουθεί αιτήματα από οποιοδήποτε πρόγραμμα, ενώ παρέχει επίσης πολύ λεπτομερείς πληροφορίες για τις κεφαλίδες και το περιεχόμενό τους.