Κοινές επικεφαλίδες HTTP
Οι επικεφαλίδες HTTP είναι ζεύγη κλειδιού-τιμής που αποστέλλονται στην αρχή κάθε αίτησης και απάντησης. Μεταφέρουν μεταδεδομένα όπως ο τύπος περιεχομένου, οι κανόνες cache και η πιστοποίηση. Χρησιμοποιήστε τον πίνακα για να αναγνωρίζετε τις συνηθέστερες επικεφαλίδες κατά την ανάπτυξη ή τον εντοπισμό σφαλμάτων.
| Επικεφαλίδα | Κατεύθυνση | Σκοπός |
|---|---|---|
| Host | request | Identifies the server's host and port (from the URL). |
| User-Agent | request | Reports the client software (browser, OS, bot) making the request. |
| Accept | request | Lists the response media types (MIME) the client can handle. |
| Authorization | request | Carries credentials (token, Basic auth) to authenticate the client. |
| Content-Type | request/response | States the media type of the request or response body. |
| Content-Length | request/response | Gives the size in bytes of the request or response body. |
| Cookie | request | Sends stored key/value pairs from a previous response back to the server. |
| Set-Cookie | response | Server instructs the client to store a cookie for later requests. |
| Cache-Control | request/response | Directs caching behaviour: no-cache, max-age, private, etc. |
| ETag | response | Opaque identifier for a resource version, used for revalidation. |
| If-None-Match | request | Sends an ETag; server returns 304 if the resource is unchanged. |
| Location | response | Points the client to a new URL for redirects (3xx) or created resources. |
| Access-Control-Allow-Origin | response | Permits a browser to share a response across origins (CORS). |
| X-Forwarded-For | request | Records the client IP as seen through a proxy or load balancer. |
| Referer | request | Indicates the URL of the page that linked to the requested resource. |
Σημειώσεις
- Τα ονόματα επικεφαλίδων δεν κάνουν διάκριση πεζών/κεφαλαίων· κατά σύμβαση γράφονται σε Title-Case (π.χ. Content-Type).
- Οι επικεφαλίδες αιτήματος περιγράφουν τον πελάτη· οι επικεφαλίδες απάντησης την απάντηση του διακομιστή.
- Το πρόγραμμα περιήγησης ορίζει πολλές επικεφαλίδες (όπως Host και Referer) αυτόματα — μην τις πλαστογραφείτε.
Συχνές ερωτήσεις
- Ποια είναι η διαφορά μεταξύ επικεφαλίδας αιτήματος και απάντησης;
- Οι επικεφαλίδες αιτήματος αποστέλλονται από τον πελάτη (πρόγραμμα περιήγησης ή εφαρμογή) στον διακομιστή· οι επικεφαλίδες απάντησης επιστρέφονται από τον διακομιστή με την απάντησή του. Μερικές, όπως η Content-Type, εμφανίζονται και στα δύο άκρα.
- Κάνουν οι επικεφαλίδες HTTP διάκριση πεζών/κεφαλαίων;
- Όχι. Σύμφωνα με την προδιαγραφή, τα ονόματα επικεφαλίδων δεν κάνουν διάκριση, οπότε τo Content-Type και το content-type είναι ίδια. Το Title-Case είναι απλώς σύμβαση.
- Τι κάνει η επικεφαλίδα Host;
- Η Host λέει στον διακομιστή ποιο domain στοχεύει το αίτημα. Είναι υποχρεωτική στο HTTP/1.1 και επιτρέπει σε έναν διακομιστή να φιλοξενεί πολλούς ιστότοπους με βάση το όνομα.
- Πώς λειτουργεί η προσωρινή αποθήκευση με τις επικεφαλίδες;
- Το Cache-Control ορίζει για πόσο μπορεί να αποθηκευτεί μια απάντηση· τα ETag και If-None-Match επιτρέπουν στον πελάτη να ρωτήσει «άλλαξε;» και να λάβει ένα ελαφρύ 304 Not Modified.