Ένας πελάτης δεν μπορεί να αντιδράσει στην πρόκληση ελέγχου ταυτότητας του διαμεσολαβητή μέχρι να έχει μια πλήρη απόκριση HTTP για ανάλυση. Μια γραμμή κατάστασης και ένα πεδίο Proxy-Authenticate εξακολουθούν να χρειάζονται την κενή γραμμή που τερματίζει την ενότητα κεφαλίδων.

Μια ελάχιστη απόκριση HTTP/1.1 χωρίς σώμα έχει αυτή τη δομή:

HTTP/1.1 407 Proxy Authentication Required<CRLF>
Proxy-Authenticate: Basic realm="local-proxy"<CRLF>
Content-Length: 0<CRLF>
<CRLF>

Κάθε δείκτης CRLF αντιπροσωπεύει byte επιστροφής μεταφορέα και αλλαγής γραμμής, όχι κυριολεκτικό κείμενο δείκτη. Η τελευταία γραμμή κεφαλίδας τελειώνει ήδη με CRLF· το πρόσθετο CRLF δημιουργεί την κενή γραμμή. Το Content-Length δηλώνει ότι δεν ακολουθεί σώμα.

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

Ένα 407 απαιτεί τουλάχιστον μία εφαρμόσιμη πρόκληση Proxy-Authenticate. Αν ο πελάτης υποστηρίζει το προσφερόμενο σχήμα και αποκτήσει διαπιστευτήρια, μπορεί να επαναλάβει με Proxy-Authorization. Τα πεδία 401 και WWW-Authenticate ενός ιστότοπου αφορούν διαφορετικό hop.

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

Σχετικά άρθρα