HEAD
Μέθοδος HTTP
Προδιαγραφή της μεθόδου HTTP HEAD
Η μέθοδος HEAD είναι πανομοιότυπη με τη μέθοδο GET με τη διαφορά ότι ο διακομιστής ΔΕΝ ΠΡΕΠΕΙ να στείλει σώμα μηνύματος στην απόκριση (δηλαδή, η απόκριση τερματίζεται στο τέλος του τμήματος κεφαλίδας). Ο διακομιστής ΠΡΕΠΕΙ να στείλει τα ίδια πεδία επικεφαλίδων σε απάντηση σε ένα αίτημα HEAD με αυτά που θα έστελνε αν το αίτημα ήταν GET, με τη διαφορά ότι τα πεδία επικεφαλίδων ωφέλιμου φορτίου (ενότητα 3.3) ΜΠΟΡΕΙ να παραλειφθούν. Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί για την απόκτηση μεταδεδομένων σχετικά με την επιλεγμένη αναπαράσταση χωρίς να μεταφερθούν τα δεδομένα της αναπαράστασης και χρησιμοποιείται συχνά για τον έλεγχο των συνδέσμων υπερκειμένου ως προς την εγκυρότητα, την προσβασιμότητα και την πρόσφατη τροποποίηση.
Το ωφέλιμο φορτίο μέσα σε ένα μήνυμα αίτησης HEAD δεν έχει καθορισμένη σημασιολογία- η αποστολή ενός σώματος ωφέλιμου φορτίου σε μια αίτηση HEAD ενδέχεται να προκαλέσει την απόρριψη της αίτησης από ορισμένες υπάρχουσες υλοποιήσεις.
Η απάντηση σε μια αίτηση HEAD είναι δυνατή για κρυφή μνήμη- μια κρυφή μνήμη ΜΠΟΡΕΙ να τη χρησιμοποιήσει για την ικανοποίηση επόμενων αιτημάτων HEAD, εκτός εάν υποδεικνύεται διαφορετικά από το πεδίο κεφαλίδας Cache-Control (ενότητα 5.2 του [RFC7234]). Μια απόκριση HEAD μπορεί επίσης να έχει επίδραση σε προηγούμενες απαντήσεις σε GET που έχουν αποθηκευτεί στην προσωρινή μνήμη, βλέπε ενότητα 4.3.5 του [RFC7234].
Περιγραφή της μεθόδου HEAD
Η μέθοδος HTTP HEAD παίζει κεντρικό ρόλο στο πρωτόκολλο HTTP, ειδικά όταν πρόκειται για τη λήψη πληροφοριών σχετικά με πόρους χωρίς να κατεβάζετε το πραγματικό περιεχόμενο ή το "σώμα" αυτών των πόρων. Φανταστείτε ότι θέλετε απλώς να μάθετε πόσο μεγάλο είναι ένα αρχείο ή αν ένας συγκεκριμένος σύνδεσμος εξακολουθεί να λειτουργεί, χωρίς να κατεβάσετε ολόκληρο το αρχείο ή την ιστοσελίδα. Σε αυτό το σημείο έρχεται η μέθοδος HEAD.
Κύρια χαρακτηριστικά και πλεονεκτήματα της μεθόδου HEAD:
- Αποτελεσματικότητα: Η μέθοδος HEAD σας επιτρέπει να λαμβάνετε πληροφορίες σχετικά με έναν πόρο χωρίς να κατεβάζετε τον ίδιο τον πόρο. Αυτό είναι ιδιαίτερα χρήσιμο όταν χρειάζεστε μόνο μεταδεδομένα και όχι ολόκληρα τα δεδομένα, εξοικονομώντας εύρος ζώνης και χρόνο.
- Επιβεβαίωση συνδέσμων: Συχνά η μέθοδος HEAD χρησιμοποιείται για τον έλεγχο της εγκυρότητας των συνδέσμων. Εάν ένας διακομιστής ανταποκρίνεται σε ένα αίτημα HEAD, αυτό συνήθως σημαίνει ότι ο σύνδεσμος είναι έγκυρος.
- Ιδιότητες αρχείου: Για παράδειγμα, εάν κάποιος θέλει να μάθει το μέγεθος ενός αρχείου ή πότε έγινε η τελευταία αλλαγή χωρίς να το κατεβάσει, η μέθοδος HEAD μπορεί να είναι χρήσιμη.
- Διαχείριση κρυφής μνήμης: Δεδομένου ότι η απάντηση σε ένα αίτημα HEAD είναι δυνατό να αποθηκευτεί στην κρυφή μνήμη, οι διακομιστές και οι κρυφές μνήμες μπορούν να τη χρησιμοποιήσουν για να προσδιορίσουν αν μια τοπικά αποθηκευμένη έκδοση ενός πόρου είναι ακόμα ενημερωμένη.
Για να το θέσουμε απλά: Η μέθοδος HEAD είναι σαν μια "γρήγορη ματιά" σε έναν πόρο. Παίρνετε βασικές πληροφορίες για αυτόν χωρίς να εμβαθύνετε ή να κατεβάσετε πρόσθετα δεδομένα. Είναι ένας αποτελεσματικός τρόπος για να ελέγξετε τα μεταδεδομένα και να βεβαιωθείτε ότι οι πόροι είναι ακόμα διαθέσιμοι ή για να μάθετε τις ιδιότητες ενός αρχείου πριν αποφασίσετε για μια πλήρη λήψη.
Παράδειγμα για τη μέθοδο HTTP HEAD
HEAD /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Content-Type: application/json
Content-Length: 254
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache