Αναιμικές αποκρίσεις html. Τρελά σχήματα. Προσθήκη κώδικα HTML σε μια εφαρμογή Java από την πλευρά του διακομιστή

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

Συλλογές: Μέθοδοι: Ιδιότητες: Απάντηση.Συλλογή cookies

Η συλλογή Cookies ορίζει τιμές για τα cookies. Εάν τα καθορισμένα cookies δεν υπάρχουν, τα δημιουργεί. Εάν το cookie υπάρχει, παίρνει μια νέα τιμή και καταστρέφει την παλιά.

Απάντηση.Cookies(cookie) [(κλειδί) | . ιδιότητες ] = τιμή

Επιλογές:

  • cookie - Όνομα cookie
  • κλειδί - Προαιρετική παράμετρος. Εάν έχει καθοριστεί, τότε το cookie είναι ένας κατάλογος (ένθετος) και το κλειδί είναι ένα σύνολο τιμών.
  • χαρακτηριστικά - Καθορισμένες πληροφορίες σχετικά με τα ίδια τα cookies. Αυτή η παράμετρος μπορεί να είναι μία από τις ακόλουθες:
  • τιμή - Υποδεικνύει την τιμή που θα εκχωρηθεί αυτό το κλειδίή χαρακτηριστικό.
ΟνομαΠεριγραφή
ΤομέαΜόνο ηχογράφηση. Εάν ορίζεται, τα cookies αποστέλλονται μόνο κατόπιν αιτήματος από αυτόν τον τομέα.
ΛήγειΜόνο ηχογράφηση. Η ημερομηνία λήξης του cookie. Αυτή η ημερομηνία πρέπει να οριστεί προκειμένου τα cookies να εγγράφονται στον πελάτη HDDμετά το τέλος της συνεδρίας. Εάν αυτό το χαρακτηριστικό δεν έχει οριστεί, τότε η ημερομηνία λήξης του cookie θεωρείται ότι είναι η τρέχουσα ημερομηνία. Τα cookies θα λήξουν αμέσως μετά το τέλος της συνεδρίας.
HasKeyΜόνο διάβασμα. Υποδεικνύει εάν το cookie περιέχει το δεδομένο κλειδί.
ΜονοπάτιΜόνο ηχογράφηση. Εάν ορίζεται, τα cookies αποστέλλονται μόνο κατόπιν αιτήματος από αυτήν τη διαδρομή. Εάν η παράμετρος δεν έχει οριστεί, χρησιμοποιείται η διαδρομή προς την εφαρμογή.
ΑσφαλήςΜόνο ηχογράφηση. Υποδεικνύει εάν τα cookies θα προστατεύονται ή όχι.

Σχόλιο:

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

τότε θα σταλεί η ακόλουθη κεφαλίδα:

Set-Cookie:MYCOOKIE=TYPE1=ζάχαρη&TYPE2=cookies

Εάν αντιστοιχίσετε μια τιμή στο mycookie χωρίς να χρησιμοποιήσετε κλειδιά, τότε αυτή η ενέργεια θα καταστρέψει τα κλειδιά τύπου1 και τύπου2. Π.χ:

Στο προηγούμενο παράδειγμα, τα κλειδιά type1 και type2 θα καταστραφούν και οι τιμές τους θα χαθούν. Το Mycookie θα περιέχει τώρα την αξία marshmallow σοκολάτας.

Μπορείτε επίσης να ελέγξετε την ύπαρξη συγκεκριμένου κλειδιού με τον ακόλουθο τρόπο:

Εάν εμφανίζεται η ένδειξη TRUE, τότε υπάρχει τέτοιο κλειδί, ενώ εάν FALSE, δεν υπάρχει.

Απόκριση. Μέθοδος εγγραφής

Response.Write variable_or_value

Επιλογές:

  • variable_or_value - Δεδομένα που θα εμφανίζονται στην οθόνη του προγράμματος περιήγησης μέσω HTML. Αυτή η παράμετρος μπορεί να είναι οποιουδήποτε τύπου που υποστηρίζεται από τη VisualBasic Scripting Edition. Δηλαδή, τα δεδομένα μπορούν να είναι των εξής τύπων: ημερομηνία, συμβολοσειρά, χαρακτήρας, αριθμητικές τιμές. Η τιμή αυτής της παραμέτρου δεν μπορεί να περιέχει τον συνδυασμό %>. Αντίθετα, μπορείτε να χρησιμοποιήσετε τον ισοδύναμο συνδυασμό %\>. Ο διακομιστής web θα μετατρέψει αυτήν την ακολουθία στην απαιτούμενη κατά την εκτέλεση του σεναρίου.

Το ακόλουθο παράδειγμα δείχνει πώς λειτουργεί η μέθοδος Response.write για την έξοδο ενός μηνύματος στον πελάτη.

Θα σου πω μόνο: Και το όνομά σου

Το παρακάτω παράδειγμα προσθέτει μια ετικέτα HTML σε μια ιστοσελίδα. Επειδή αυτή η μέθοδος δεν μπορεί να περιέχει τον συνδυασμό %>, χρησιμοποιούμε την ακολουθία %\>. Λοιπόν ένα παράδειγμα σεναρίου:

Η έξοδος θα είναι η γραμμή:

Μέθοδος Response.Redirect

Response.Redirect URL (URL - Uniform Resource Locator)

Επιλογές:

  • URL - Η παράμετρος είναι μια καθολική περιγραφή πόρων. Δείχνει πότε πρέπει να ανακατευθυνθεί το πρόγραμμα περιήγησης.

Σχόλιο:

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

HTTP/1.0 302 Διεύθυνση URL τοποθεσίας που μετακινήθηκε αντικείμενο

Μέθοδος απόκρισης.Τερματισμός

Απάντηση.Τέλος

Σχόλιο:

Εάν η ιδιότητα Response.Buffer ορίστηκε σε TRUE, τότε η κλήση της μεθόδου Response.End θα διαγράψει την προσωρινή μνήμη, προωθώντας τα δεδομένα από αυτήν στον πελάτη. Εάν δεν θέλετε να εξάγετε δεδομένα στον χρήστη, θα πρέπει να καλέσετε την ακόλουθη μέθοδο:

Μέθοδος Response.AddHeader

Η μέθοδος AddHeader προσθέτει μια κεφαλίδα HTML με συγκεκριμένες τιμές. Αυτή η μέθοδος προσθέτει πάντα μια νέα κεφαλίδα στην απάντηση στο πρόγραμμα περιήγησης πελάτη. Αυτή η μέθοδος δεν αντικαθιστά την υπάρχουσα κεφαλίδα με μια νέα. Η προστιθέμενη κεφαλίδα δεν μπορεί να αφαιρεθεί.

Αυτή η μέθοδος χρησιμοποιείται μόνο για «προχωρημένες» εργασίες.

Response.AddHeader variable_name, value

Επιλογές:

  • variable_name - Το όνομα των νέων παραμέτρων κεφαλίδας HTML.
  • τιμή - Ορίστε την τιμή που θα απομνημονεύεται στην κεφαλίδα.
Σημειώσεις:

Για σωστή λειτουργίαμέθοδο, το variable_name δεν πρέπει να περιέχει κάτω παύλα (_). Το σύνολο ServerVariables ερμηνεύει την υπογράμμιση ως παύλα στην κεφαλίδα. Για παράδειγμα, το ακόλουθο σενάριο αναγκάζει τον διακομιστή να βρει μια παράμετρο από την κεφαλίδα HTML που ονομάζεται MY-HEADER.

Επειδή Πρωτόκολλο HTTPαπαιτεί να περάσουν όλες οι παράμετροι κεφαλίδας πριν από το σώμα της σελίδας HTML, τότε πρέπει να καλέσετε τη μέθοδο AddHeader στο σενάριό σας πριν ξεκινήσει η περιγραφή... Υπάρχει μία εξαίρεση. Εάν η ιδιότητα Buffer έχει οριστεί σε true, τότε μπορείτε να γράψετε AddHeader οπουδήποτε στο σενάριο, αλλά πριν από την πρώτη κλήση στη μέθοδο Flush. Διαφορετικά, η κλήση της μεθόδου AddHeader θα δημιουργήσει ένα σφάλμα.

Τα ακόλουθα δύο αρχεία .ASP δείχνουν αυτό το τελευταίο σημείο.

το κείμενό σας στη σελίδα

ΣΕ σε αυτό το παράδειγμαη σελίδα δεν είναι προσωρινή. Το σενάριο λειτουργεί ωστόσο το AddHeader καλείται πριν ο διακομιστής παράγει έξοδο HTML στον πελάτη.

Ορίστε μερικές πληροφορίες από τη σελίδα σας...

Στο δεύτερο παράδειγμα, η σελίδα αποθηκεύεται στην προσωρινή μνήμη και, ως αποτέλεσμα, ο διακομιστής δεν εξάγει κείμενο στον υπολογιστή-πελάτη μέχρι να τελειώσει το ίδιο το σενάριο ή να εμφανιστεί η μέθοδος Flush. Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να στείλετε πολλά αντίγραφα κάποιας παραμέτρου κεφαλίδας με διαφορετικές τιμές, όπως με την κεφαλίδα WWW-Authenticate.

Μέθοδος Response.AppendToLog

Η μέθοδος AppendToLog προσθέτει μια γραμμή στο τέλος του αρχείου αναφοράς (αρχείο καταγραφής) του διακομιστή web. Μπορείτε να καλέσετε αυτήν τη μέθοδο όσες φορές χρειάζεστε. Κάθε φορά που καλείτε τη μέθοδο, η συμβολοσειρά που καθορίζετε θα γράφεται στο αρχείο αναφοράς διακομιστή.

Τιμή Response.AppendToLog

Επιλογές:

  • τιμή - Κείμενο που θα προστεθεί στο αρχείο αναφοράς διακομιστή ιστού. Αυτή η συμβολοσειρά δεν μπορεί να περιέχει τον χαρακτήρα κόμματος (,). Επιπλέον, το συνολικό μήκος της γραμμής που προστέθηκε δεν πρέπει να υπερβαίνει τους 80 χαρακτήρες.
Σημειώσεις:

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

Μέθοδος Response.BinaryWrite

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

Response.BinaryWrite δεδομένα

Επιλογές:

  • δεδομένα - Δεδομένα που προορίζονται για έξοδο HTTP.

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

Απάντηση.Σαφής μέθοδος

Η μέθοδος Clear διαγράφει όλα τα εξόδους HTML σε προσωρινή μνήμη. Ωστόσο, αυτή η μέθοδος δεν διαγράφει τις πληροφορίες buffer που σχετίζονται με την κεφαλίδα. Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για τη διαχείριση σφαλμάτων. Ωστόσο, η εκτέλεση αυτής της μεθόδου θα οδηγήσει σε σφάλμα εάν η ιδιότητα Response.Buffer δεν είναι αληθής.

Ιδιότητα Response.CacheControl

Αυτή η ιδιότητα αντικαθιστά την προεπιλεγμένη τιμή. Όταν ορίζετε την ιδιότητα σε Δημόσιο, ο διακομιστής μεσολάβησης μπορεί να αποθηκεύσει προσωρινά την έξοδο που δημιουργείται από το ASP.

Response.CacheControl [= κεφαλίδα ελέγχου προσωρινής μνήμης]

Επιλογές:

  • Κεφαλίδα ελέγχου προσωρινής μνήμης - Αυτή η επιλογή ελέγχου κεφαλίδας μπορεί να είναι είτε Δημόσια είτε Ιδιωτική.
Ιδιότητα Response.CharSet

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

Response.CharSet code_table_name

Επιλογές:

  • charset_name - Μια συμβολοσειρά που καθορίζει το σύνολο χαρακτήρων για αυτήν τη σελίδα HTML. Το όνομα αυτού του πίνακα κώδικα θα προστεθεί στην κεφαλίδα του αρχείου HTML κάτω από την παράμετρο "content-type".

Για μια σελίδα ASP που δεν χρησιμοποιεί την ιδιότητα Response.Charset, η παράμετρος "content-type" στην κεφαλίδα θα είναι η εξής:

Content-type:text/html

Εάν το αρχείο ASP περιέχει την εντολή

τότε στην κεφαλίδα το πεδίο τύπου περιεχομένου θα μοιάζει

Content-type:text/html; charset=Windows-1251

Σχόλιο:

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

Εάν μια σελίδα περιέχει πολλές ετικέτες Response.Charset, τότε κάθε επόμενη θα αντικαταστήσει την τιμή με τη δική της.

Ιδιότητα Response.ContentType

Η ιδιότητα ContentType σάς επιτρέπει να καθορίσετε τον τύπο (τύπο) του περιεχομένου του αρχείου HTML. Εάν αυτή η ιδιότητα δεν χρησιμοποιείται, τότε το text/html λαμβάνεται από προεπιλογή.

Response.ContentType [=content_type]

Επιλογές:

  • content_type - Μια συμβολοσειρά που περιγράφει τον τύπο περιεχομένου HTML. Αυτή η συμβολοσειρά συνήθως παίρνει τη μορφή "τύπος/υποτύπος", όπου ο τύπος είναι η κύρια κατηγορία του περιεχομένου και ο υποτύπος υποδεικνύει τον τύπο του περιεχομένου. Για να πάρεις πλήρης λίσταυποστηριζόμενοι τύποι - ανατρέξτε στην τεκμηρίωση του προγράμματος περιήγησής σας ή στην προδιαγραφή HHTP.

Το ακόλουθο παράδειγμα δείχνει τη ρύθμιση του τύπου περιεχομένου σε Μορφή ορισμού καναλιού (Κανάλια Push).

Το δεύτερο παράδειγμα δείχνει τη ρύθμιση μιας ιδιότητας στις πιο γνωστές τιμές.

Response.Expires ιδιοκτησία

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

Response.Expires [=number]

Επιλογές:

  • αριθμός - Ο χρόνος σε λεπτά πριν από τη σελίδα θεωρείται "εκπρόθεσμη". Η ρύθμιση αυτής της τιμής σε 0 προκαλεί τη συγκεκριμένη σελίδα να "λήξει" αμέσως.

Σχόλιο:

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

Response.ExpiresAbsolute ιδιοκτησία

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

Response.ExpiresAbsolute [= [ημερομηνία] [ώρα]]

Επιλογές:

  • ημερομηνία - Υποδεικνύει την ημερομηνία λήξης της "διάρκειας ζωής". Η μορφή ημερομηνίας πρέπει να συμμορφώνεται με το πρότυπο RFC-1123.
  • time - Υποδεικνύει την ώρα λήξης της σελίδας. Αυτή η τιμή μετατρέπεται σε μορφή GMT (μέση ώρα Γκρίνουιτς) πριν σταλεί η κεφαλίδα στον πελάτη.

Σχόλιο:

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

Ιδιότητα Response.IsClientConnected

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

Response.IsClientConnected()

Σχόλιο:

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

- μεγαλύτερο από //Ο χρήστης πρέπει να αντιστοιχεί σε όλα html αντικείμεναμε τις αντίστοιχες δεκαδικές τιμές. //Οι αντιστοιχίσεις αντικειμένων σε δεκαδικές τιμές φαίνονται στον παρακάτω πίνακα) δημόσια στατική συμβολοσειρά escapeHtml() ( String str = "alert(\"abc\")", δοκιμάστε ( StringWriter writer = new StringWriter((int) (str .length() * 1.5)); escape(writer, str); System.out.println("κωδικοποιημένη συμβολοσειρά είναι " + writer.toString()); return writer.toString(); ) catch (IOException ioe) ( ioe .printStackTrace() ; return null< len; i++) { char c = str.charAt(i); int ascii = (int) c; String entityName = (String) m.get(ascii); if (entityName == null) { if (c >0x7F) ( writer.write(""); writer.write(Integer.toString(c, 10)); writer.write(";"); ) else ( writer.write(c); ) ) else (writer. write(entityName); ) ) )

Ο κώδικας Java στην Καταχώριση 1 κωδικοποιεί τη συμβολοσειρά HTML String String "alert(\"abc\)" . Χρησιμοποιήστε την ακόλουθη διαδικασία:

Ως αποτέλεσμα, η ακόλουθη γραμμή θα εμφανιστεί στην έξοδο: alert("abc") .

Ο Πίνακας 2 δείχνει την αντιστοίχιση των αντικειμένων HTML στις δεκαδικές τους τιμές.

Πίνακας 2. Δεκαδικές τιμές αντικειμένου HTML
Δεκαδική τιμή Περιγραφή αντικειμένου
160 Χώρος που δεν σπάει
60 < Λιγότερο από
62 > Περισσότερο από
38 & Ampersand
162 ¢ Σεντ
163 £ Lb
165 ¥ Jena
8364 Ευρώ
167 § Παράγραφος
169 Πνευματική ιδιοκτησία
174 ® Σήμα κατατεθέν
8482 Εμπορικό σήμα
συμπέρασμα

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

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

  • Μια γραμμή κατάστασης
  • Μηδέν ή περισσότερα πεδία κεφαλίδας (Γενικά|Απόκριση|Οντότητα) ακολουθούμενα από CRLF
  • Μια κενή γραμμή (δηλαδή μια γραμμή χωρίς τίποτα πριν από το CRLF) που υποδεικνύει το τέλος των πεδίων κεφαλίδας
  • Προαιρετικά ένα μήνυμα-σώμα
  • Οι ακόλουθες ενότητες εξηγούν καθεμία τις οντότητες που χρησιμοποιούνται σε ένα μήνυμα απόκρισης HTTP.

    Γραμμή κατάστασης μηνύματος

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

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF Έκδοση HTTP

Ένας διακομιστής που υποστηρίζει HTTP έκδοση 1.1 θα επιστρέψει τις ακόλουθες πληροφορίες έκδοσης:

Έκδοση HTTP = HTTP/1.1

Κωδικός κατάστασης

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

Σ.Ν. Κωδικός και Περιγραφή
1 1xx: Ενημερωτικό

Σημαίνει ότι το αίτημα ελήφθη και η διαδικασία συνεχίζεται.

2 2xx: Επιτυχία

Σημαίνει ότι η ενέργεια παραλήφθηκε με επιτυχία, έγινε κατανοητή και αποδεκτή.

3 3xx: Ανακατεύθυνση

Σημαίνει ότι πρέπει να ληφθούν περαιτέρω μέτρα προκειμένου να ολοκληρωθεί το αίτημα.

4 4xx: Σφάλμα πελάτη

Σημαίνει ότι το αίτημα περιέχει λανθασμένη σύνταξη ή δεν μπορεί να εκπληρωθεί.

5 5xx: Σφάλμα διακομιστή

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

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

Πεδία κεφαλίδας απόκρισης

Θα μελετήσουμε το General-header και το Entity-header σε ξεχωριστό κεφάλαιο όταν θα μάθουμε τα πεδία κεφαλίδας HTTP. Προς το παρόν, ας ελέγξουμε ποια είναι τα πεδία κεφαλίδας απόκρισης.

Τα πεδία κεφαλίδας απάντησης επιτρέπουν στον διακομιστή να μεταβιβάσει πρόσθετες πληροφορίες σχετικά με την απόκριση που δεν μπορούν να τοποθετηθούν στη Γραμμή κατάστασης. Αυτά τα πεδία κεφαλίδας παρέχουν πληροφορίες για τον διακομιστή και για περαιτέρω πρόσβαση στον πόρο που προσδιορίζεται από το Request-URI.

  • Proxy-Authenticate

  • WWW-Authenticate

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

Παραδείγματα μηνυμάτων απάντησης

Τώρα ας τα συγκεντρώσουμε όλα μαζί για να σχηματίσουμε μια απάντηση HTTP για ένα αίτημα λήψης της σελίδας hello.htm από τον διακομιστή ιστού που εκτελείται στον ιστότοπο

HTTP/1.1 200 OK Ημερομηνία: Δευτ., 27 Ιουλίου 2009 12:28:53 GMT Διακομιστής: Apache/2.2.14 (Win32) Τελευταία τροποποίηση: Τετ, 22 Ιουλίου 2009 19:15:56 GMT Περιεχόμενο-Μήκος: Τύπος: text/html Σύνδεση: Κλειστό Γεια σας, Κόσμος!

Το ακόλουθο παράδειγμα δείχνει ένα μήνυμα απόκρισης HTTP που εμφανίζει κατάσταση σφάλματος όταν ο διακομιστής web δεν μπορούσε να βρει τη σελίδα που ζητήθηκε:

HTTP/1.1 404 Δεν βρέθηκε Ημερομηνία: Κυριακή, 18 Οκτ 2012 10:36:20 GMT Διακομιστής: Apache/2.2.14 (Win32) Περιεχόμενο-Μήκος: 230 Σύνδεση: Κλειστό Περιεχόμενο-Τύπος: text/html; charset=iso-8859-1 404 Δεν βρέθηκε Δεν βρέθηκε

Η διεύθυνση URL /t.html που ζητήθηκε ήταν δεν βρέθηκεσε αυτόν τον διακομιστή.

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

HTTP/1.1 400 Κακή ημερομηνία αίτησης: Κυριακή, 18 Οκτ 2012 10:36:20 GMT Διακομιστής: Apache/2.2.14 (Win32) Μήκος περιεχομένου: 230 Τύπος περιεχομένου: text/html; charset=iso-8859-1 Σύνδεση: Closed 400 Bad Request Bad Request

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

Η γραμμή αιτήματος περιείχε μη έγκυρους χαρακτήρες μετά τη συμβολοσειρά πρωτοκόλλου.

Συνεχίζοντας το θέμα:
Smartphone

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

Νέα άρθρα
/
Δημοφιλής