Skip to content
Λογότυπο GrCode Club σε μαύρο Λογότυπο GrCode Club σε λευκό GrCode Club

GrCode Club

Λογότυπο GrCode Club σε μαύρο Λογότυπο GrCode Club σε λευκό GrCode Club

GrCode Club

  • Αρχική
  • Προγραμματισμός
    • Developer
    • Web Development
    • Γλώσσες Προγραμματισμού
    • Docker
  • Δίκτυα
    • Βασικές Πληροφορίες
    • Πρωτόκολλα Δικτύων
    • Υπηρεσίες & Θύρες
    • Cloud Computing
  • Λειτουργικά Συστήματα
    • Βασικές Πληροφορίες
    • Linux: Οδηγός
    • Microsoft Windows
  • Κυβερνοασφάλεια
    • Βασικές Πληροφορίες
    • Κυβερνοεπιθέσεις
    • Εργαλεία Κυβερνοασφάλειας
  • Hardware
    • Βασικές Πληροφορίες
    • Εξαρτήματα Υπολογιστή
    • Οθόνες & Τηλεοράσεις
    • Υποστήριξη Υπολογιστή
    • Πιστοποίηση IP
  • Κινητά
    • Βασικές Πληροφορίες
    • Android
    • iPhone
  • Κοινότητα
    • Σύνδεση / Λογαριασμός
    • Μέλη
    • Γίνε Content Creator
    • Projects Μελών
    • Ξεκινήστε να Μαθαίνετε
  • Αρχική
  • Προγραμματισμός
    • Developer
    • Web Development
    • Γλώσσες Προγραμματισμού
    • Docker
  • Δίκτυα
    • Βασικές Πληροφορίες
    • Πρωτόκολλα Δικτύων
    • Υπηρεσίες & Θύρες
    • Cloud Computing
  • Λειτουργικά Συστήματα
    • Βασικές Πληροφορίες
    • Linux: Οδηγός
    • Microsoft Windows
  • Κυβερνοασφάλεια
    • Βασικές Πληροφορίες
    • Κυβερνοεπιθέσεις
    • Εργαλεία Κυβερνοασφάλειας
  • Hardware
    • Βασικές Πληροφορίες
    • Εξαρτήματα Υπολογιστή
    • Οθόνες & Τηλεοράσεις
    • Υποστήριξη Υπολογιστή
    • Πιστοποίηση IP
  • Κινητά
    • Βασικές Πληροφορίες
    • Android
    • iPhone
  • Κοινότητα
    • Σύνδεση / Λογαριασμός
    • Μέλη
    • Γίνε Content Creator
    • Projects Μελών
    • Ξεκινήστε να Μαθαίνετε

HTTP Protocol: Μέθοδοι Αιτημάτων και Κωδικοί Κατάστασης

Το HTTP (Hypertext Transfer Protocol) είναι το πρωτόκολλο εφαρμογών που χρησιμοποιείται για την ανταλλαγή πόρων μεταξύ clients και servers στον Παγκόσμιο Ιστό. Ένας client, όπως browser ή εφαρμογή, στέλνει ένα request και ο server επιστρέφει response με status code, headers και ενδεχομένως body.

Το HTTPS είναι HTTP μέσω κρυπτογραφημένης σύνδεσης TLS. Το HTTP/1.1, το HTTP/2 και το HTTP/3 διαφέρουν στον τρόπο μεταφοράς και διαχείρισης των αιτημάτων, αλλά διατηρούν το βασικό μοντέλο request/response.

HTTP Methods (Μέθοδοι αιτημάτων)

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

MethodΠεριγραφήΙδιότητεςΕνδεικτική χρήση
GETΑνάκτηση αναπαράστασης πόρου.Safe, Idempotent, CacheableΠροβολή άρθρου ή λίστας.
HEADΌπως GET, αλλά χωρίς response body.Safe, Idempotent, CacheableΈλεγχος headers και metadata.
POSTΥποβολή δεδομένων για επεξεργασία από τον server.Όχι κατ’ ανάγκη IdempotentΥποβολή φόρμας ή δημιουργία πόρου.
PUTΔημιουργία ή πλήρης αντικατάσταση της κατάστασης ενός πόρου.IdempotentΑντικατάσταση εγγραφής.
PATCHΜερική τροποποίηση ενός πόρου.Όχι κατ’ ανάγκη IdempotentΑλλαγή συγκεκριμένων πεδίων.
DELETEΔιαγραφή ενός πόρου.IdempotentΔιαγραφή εγγραφής.
OPTIONSΠληροφορίες για τις διαθέσιμες επιλογές επικοινωνίας.Safe, IdempotentΈλεγχος δυνατοτήτων και CORS preflight.
CONNECTΔημιουργία tunnel προς τον προορισμό μέσω proxy.Ειδική χρήσηHTTPS tunneling μέσω proxy.
TRACEΕπιστρέφει το ληφθέν αίτημα για διαγνωστικούς σκοπούς.SafeΔιάγνωση διαδρομής αιτήματος· συχνά απενεργοποιείται για λόγους ασφάλειας.

Safe σημαίνει ότι η μέθοδος δεν ζητά αλλαγή κατάστασης στον server. Idempotent σημαίνει ότι η επανάληψη του ίδιου αιτήματος έχει το ίδιο επιδιωκόμενο αποτέλεσμα με μία εκτέλεση. Για παράδειγμα, ένα DELETE μπορεί να επιστρέψει διαφορετικό status σε επόμενη κλήση, αλλά ο πόρος παραμένει διαγραμμένος.

Δομή HTTP Request και Response

Ένα HTTP request περιλαμβάνει μέθοδο, διαδρομή, έκδοση πρωτοκόλλου, headers και προαιρετικά body. Το response περιλαμβάνει έκδοση πρωτοκόλλου, status code, headers και προαιρετικό body.

GET /articles/ HTTP/1.1
Host: example.com
Accept: text/html
User-Agent: ExampleBrowser/1.0

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=300

<html>...</html>

HTTP Headers

Τα headers μεταφέρουν metadata για το request ή το response. Συχνά χρησιμοποιούμενα headers είναι:

HeaderΚατεύθυνσηΧρήση
HostRequestΟρίζει το hostname του προορισμού σε HTTP/1.1.
AcceptRequestΤύποι περιεχομένου που μπορεί να δεχτεί ο client.
Content-TypeRequest / ResponseΤύπος και μορφή του body.
AuthorizationRequestCredentials ή token αυθεντικοποίησης.
Cache-ControlRequest / ResponseΟδηγίες αποθήκευσης και επαναχρησιμοποίησης cache.
Set-CookieResponseΑποστολή cookie στον browser.
CookieRequestCookies που επιστρέφει ο browser στον server.
LocationResponseΠροορισμός ανακατεύθυνσης ή δημιουργημένου πόρου.
ETagResponseValidator έκδοσης αναπαράστασης για conditional requests.
Access-Control-Allow-OriginResponseΠολιτική CORS για πρόσβαση από διαφορετικό origin.

HTTP Status Codes

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

  • 1xx – Informational: πληροφοριακή απόκριση.
  • 2xx – Successful: το αίτημα ολοκληρώθηκε επιτυχώς.
  • 3xx – Redirection: απαιτείται ή υποδεικνύεται ανακατεύθυνση.
  • 4xx – Client Error: υπάρχει πρόβλημα στο αίτημα ή στα δικαιώματα του client.
  • 5xx – Server Error: ο server απέτυχε να ολοκληρώσει ένα φαινομενικά έγκυρο αίτημα.

Ο πίνακας περιλαμβάνει συχνούς κωδικούς και τη σημασία τους:

ΚωδικόςΠεριγραφή
200OK (Επιτυχής αίτηση)
Το αίτημα HTTP ολοκληρώθηκε με επιτυχία και ο Server επέστρεψε την σωστή απάντηση. .
201Created
Το αίτημα HTTP ήταν επιτυχής και ένα νέο object δημιουργήθηκε στον Server.
204No Content
Το αίτημα ολοκληρώθηκε με επιτυχία και η απόκριση δεν περιέχει σώμα. Συχνά χρησιμοποιείται μετά από επιτυχημένη ενημέρωση ή διαγραφή.
300Multiple Choices
Ο Server έχει πολλαπλές επιλογές για την απόκριση στο αίτημα του Client και παρέχει μια λίστα με επιλογές. Αυτή κατάσταση συνήθως συνοδεύεται από ένα σύνολο links ή έναν πίνακα που περιέχει τις διαθέσιμες εναλλακτικές για τον Client.
301Moved Permanently (Μετακίνηση μόνιμη)
Το URL που ζητήθηκε έχει μετακινηθεί μόνιμα σε μια νέα τοποθεσία. Ο Client θα πρέπει να επαναδρομολογήσει το αίτημά του στη νέα τοποθεσία.
302Found
Προσωρινή ανακατεύθυνση σε διαφορετικό URL. Η συμπεριφορά της μεθόδου σε επόμενη αίτηση μπορεί να εξαρτάται από τον client.
303See Other
Το αίτημα του Client ολοκληρώθηκε με επιτυχία και ότι η απάντηση βρίσκεται σε μια διαφορετική τοποθεσία.
304Not Modified
Ο πόρος δεν έχει τροποποιηθεί σύμφωνα με τους conditional request validators. Ο client μπορεί να χρησιμοποιήσει την cached έκδοση.
305Use Proxy (Deprecated)
Ιστορικός κωδικός που έχει καταργηθεί και δεν πρέπει να χρησιμοποιείται σε σύγχρονες εφαρμογές.
307Temporary Redirect
Το αίτημα του Client πρέπει να ανακατευθυνθεί προσωρινά σε μια διαφορετική τοποθεσία.
308Permanent Redirect
Το αίτημα του Client πρέπει να ανακατευθυνθεί μόνιμα σε μια διαφορετική τοποθεσία.
400Bad Request (Κακή αίτηση)
Ο Server δεν μπορεί να επεξεργαστεί το αίτημα του client λόγω Ότι δεν έχει γραφτεί σωστά αιτήματός.
404Bad Request
Ο server δεν μπορεί ή δεν θέλει να επεξεργαστεί το αίτημα λόγω σφάλματος που θεωρείται πρόβλημα του client, όπως μη έγκυρη σύνταξη ή δεδομένα.
500Internal Server Error (Εσωτερικό σφάλμα διακομιστή)
Υπήρξε κάποιο πρόβλημα στον Server και δεν μπόρεσε να εξυπηρέτηση το αίτημα του client.
501Not Implemented
Ο Server δεν υποστηρίζει τη λειτουργία που απαιτείται για να εξυπηρέτηση το αίτημα του client.
502Bad Gateway
Ένας server που λειτουργεί ως gateway ή proxy έλαβε μη έγκυρη απόκριση από upstream server.
503Service Unavailable
Ο Server δεν είναι προσωρινά διαθέσιμος.
504Gateway Timeout
Ο Server λειτουργεί ως gateway ή proxy και δεν λαμβάνει μια έγκυρη απάντηση εγκαίρως από έναν άλλον Server (Upstream server) που Χρειάζεται ώστε να ολοκληρώσει την απάντηση του αιτήματος του client.
505HTTP Version Not Supported
Ο server δεν υποστηρίζει την έκδοση HTTP που χρησιμοποιείται στο αίτημα.
401Unauthorized
Απαιτείται έγκυρη αυθεντικοποίηση. Συχνά συνοδεύεται από WWW-Authenticate.
403Forbidden
Ο server κατάλαβε το αίτημα, αλλά αρνείται να το εξυπηρετήσει λόγω δικαιωμάτων ή πολιτικής πρόσβασης.
405Method Not Allowed
Η HTTP μέθοδος δεν επιτρέπεται για τον συγκεκριμένο πόρο. Η απόκριση πρέπει να περιλαμβάνει Allow.
408Request Timeout
Ο server δεν έλαβε εγκαίρως το πλήρες αίτημα από τον client.
409Conflict
Το αίτημα συγκρούεται με την τρέχουσα κατάσταση του πόρου.
410Gone
Ο πόρος δεν είναι πλέον διαθέσιμος και η κατάσταση θεωρείται πιθανότατα μόνιμη.
413Content Too Large
Το περιεχόμενο του αιτήματος είναι μεγαλύτερο από αυτό που δέχεται ο server.
415Unsupported Media Type
Ο server δεν υποστηρίζει τη μορφή του περιεχομένου που υποβλήθηκε.
422Unprocessable Content
Το περιεχόμενο έχει σωστή σύνταξη, αλλά δεν μπορεί να επεξεργαστεί λόγω σημασιολογικού σφάλματος.
429Too Many Requests
Ο client έχει στείλει πάρα πολλά αιτήματα σε συγκεκριμένο χρονικό διάστημα. Μπορεί να συνοδεύεται από Retry-After.

HTTP/1.1, HTTP/2 και HTTP/3

ΈκδοσηΜεταφοράΒασικά χαρακτηριστικά
HTTP/1.1Συνήθως TCPText-based μηνύματα, persistent connections και δυνατότητα pipelining που χρησιμοποιείται περιορισμένα.
HTTP/2TCPBinary framing, multiplexing πολλών streams σε μία σύνδεση και συμπίεση headers με HPACK.
HTTP/3QUIC πάνω από UDPMultiplexing streams με αποφυγή TCP-level head-of-line blocking και TLS 1.3 ενσωματωμένο στο QUIC.

HTTPS και TLS

Το HTTPS προστατεύει την επικοινωνία HTTP με TLS. Παρέχει κρυπτογράφηση, ακεραιότητα δεδομένων και επαλήθευση της ταυτότητας του server μέσω πιστοποιητικού. Η συνήθης θύρα HTTPS είναι η TCP 443 για HTTP/1.1 και HTTP/2, ενώ το HTTP/3 χρησιμοποιεί QUIC μέσω UDP 443.

Cookies, Sessions και Caching

  • Cookies: μικρές τιμές που αποθηκεύει ο browser και επιστρέφει σε επόμενα αιτήματα σύμφωνα με τα attributes τους. Για ευαίσθητα cookies χρησιμοποίησε Secure, HttpOnly και κατάλληλο SameSite.
  • Sessions: ο server διατηρεί κατάσταση χρήστη και συνήθως συνδέει τη συνεδρία με ένα session cookie.
  • Caching: οι headers Cache-Control, ETag και Last-Modified βοηθούν στον έλεγχο αποθήκευσης και επαναχρησιμοποίησης αποκρίσεων.

CORS (Cross-Origin Resource Sharing)

Το CORS είναι μηχανισμός του browser που ελέγχει αν μια web εφαρμογή μπορεί να διαβάσει πόρους από διαφορετικό origin. Ο server δηλώνει επιτρεπόμενα origins και μεθόδους μέσω response headers. Για ορισμένα αιτήματα ο browser στέλνει πρώτα preflight request με τη μέθοδο OPTIONS.

Το CORS δεν αντικαθιστά την αυθεντικοποίηση ή την εξουσιοδότηση στον server. Ένας server πρέπει να ελέγχει ανεξάρτητα αν ο χρήστης δικαιούται να εκτελέσει κάθε ενέργεια.

Πρακτικός έλεγχος με curl

# Εμφάνιση headers απόκρισης
curl -I https://example.com

# Αναλυτική επικοινωνία request/response
curl -v https://example.com

# Αποστολή JSON με POST
curl -X POST https://api.example.com/items \
  -H "Content-Type: application/json" \
  -d '{"name":"demo"}'

# Αποστολή HEAD request
curl -I https://example.com

Σχετικοί οδηγοί

  • Δικτυακές Υπηρεσίες και Θύρες
  • Web Caching
  • JavaScript
  • Πρωτόκολλα Δικτύων

Social Media

  • Facebook
  • X
  • Instagram
  • TikTok
  • YouTube
  • Linkedin
  • Discord
Email Επικοινωνίας

info@grcodeclub.gr

Για Τεχνικά Θέματα

support@grcodeclub.gr

Πολιτική Cookies (ΕΕ)

Πολιτική απορρήτου

Όροι και Προϋποθέσεις

GrCode Club by @dimitridedou
Διαχείριση Συγκατάθεσης
Για να παρέχουμε την καλύτερη εμπειρία, χρησιμοποιούμε τεχνολογίες όπως cookies για την αποθήκευση ή/και την πρόσβαση σε πληροφορίες συσκευών. Η συγκατάθεση για τις εν λόγω τεχνολογίες θα μας επιτρέψει να επεξεργαστούμε δεδομένα προσωπικού χαρακτήρα, όπως συμπεριφορά περιήγησης ή μοναδικά αναγνωριστικά σε αυτόν τον ιστότοπο. Η μη συγκατάθεση ή η ανάκληση της συγκατάθεσης, μπορεί να επηρεάσει αρνητικά ορισμένες λειτουργίες και δυνατότητες.
Λειτουργικά Πάντα ενεργό
Η τεχνική αποθήκευση ή πρόσβαση είναι απολύτως απαραίτητη για τον νόμιμο σκοπό της δυνατότητας χρήσης συγκεκριμένης υπηρεσίας που ζητείται ρητά από τον συνδρομητή ή τον χρήστη ή με αποκλειστικό σκοπό τη μετάδοση επικοινωνίας μέσω δικτύου ηλεκτρονικών επικοινωνιών.
Προτιμήσεις
Η τεχνική αποθήκευση ή πρόσβαση είναι απαραίτητη για τον νόμιμο σκοπό της αποθήκευσης προτιμήσεων που δεν ζητούνται από τον συνδρομητή ή τον χρήστη.
Στατιστικά
Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για στατιστικούς σκοπούς. Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για ανώνυμους στατιστικούς σκοπούς. Χωρίς κλήτευση, η εθελοντική συμμόρφωση εκ μέρους του Παρόχου Υπηρεσιών Διαδικτύου ή πρόσθετες καταγραφές από τρίτο μέρος, οι πληροφορίες που αποθηκεύονται ή ανακτώνται για το σκοπό αυτό από μόνες τους δεν μπορούν συνήθως να χρησιμοποιηθούν για την αναγνώρισή σας.
Εμπορικής Προώθησης
Η τεχνική αποθήκευση ή πρόσβαση απαιτείται για τη δημιουργία προφίλ χρηστών, για την αποστολή διαφημίσεων ή για την καταγραφή του χρήστη σε έναν ιστότοπο ή σε διάφορους ιστότοπους για παρόμοιους σκοπούς εμπορικής προώθησης.
  • Διαχείριση επιλογών
  • Διαχείριση υπηρεσιών
  • Manage {vendor_count} vendors
  • Διαβάστε περισσότερα για αυτούς τους σκοπούς
Προβολή προτιμήσεων
  • {title}
  • {title}
  • {title}