Εξηγήστε τη διαφορά μεταξύ των πρωτοκόλλων http και smtp. Αν και το πρώτο είναι για το web και το δεύτερο είναι για το ηλεκτρονικό ταχυδρομείο, με ποιον τρόπο διαφέρουν οι μεταγραφές δεδομένων τους;


Απάντηση 1:

Αυτή είναι μια εργασία στο σπίτι, έτσι; Άλλο ερώτημα συνέντευξης σε μεταπτυχιακό επίπεδο; Όλες οι πληροφορίες είναι δημόσιες, οπότε η μόνη αξία στην ερώτηση για μια απλή περίληψη δεν είναι η πραγματική χρήση της σύνοψης για εφαρμοσμένο σκοπό, αλλά η επανάληψη της περίληψης για να ισχυριστεί κανείς ότι έχει κατανόηση.

Ωστόσο, τα SMTP και HTTP είναι πρωτόκολλα κειμένου. Μπορείτε να χρησιμοποιήσετε την εντολή telnet για να μιλήσετε σε ένα διακομιστή και να τα δοκιμάσετε πληκτρολογώντας εντολές και διαβάζοντας τις απαντήσεις. Google "telnet smtp server" και "telnet http server" και έχετε κάποια διασκέδαση να το κάνετε αυτό και να μάθετε γνώσεις που θα κάνουν την εργασία λιγότερο βαρετή και θα σας κάνει πραγματικά να μιλήσετε για αυτό σε μια συνέντευξη εργασίας ή κολέγιο.

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


Απάντηση 2:

Και τα δύο πρωτόκολλα χρησιμοποιούνται για τη μεταφορά αρχείων από έναν κεντρικό υπολογιστή σε άλλο: το HTTP μεταφέρει αρχεία (επίσης αποκαλούμενα αντικείμενα) από ένα διακομιστή Web σε ένα πρόγραμμα-πελάτη Web (συνήθως ένα πρόγραμμα περιήγησης). Αρχεία μεταφοράς SMTP (δηλαδή μηνύματα ηλεκτρονικού ταχυδρομείου) από ένα διακομιστή αλληλογραφίας σε άλλο διακομιστή αλληλογραφίας. Κατά τη μεταφορά των αρχείων, τόσο τα συνεχή HTTP όσο και τα SMTP χρησιμοποιούν συνεχείς συνδέσεις. Έτσι, τα δύο πρωτόκολλα έχουν κοινά χαρακτηριστικά. Ωστόσο, υπάρχουν σημαντικές διαφορές. Πρώτον, το πρωτόκολλο HTTP είναι κυρίως ένα πρωτόκολλο έλξης - κάποιος φορτώνει πληροφορίες σε έναν διακομιστή ιστού και οι χρήστες χρησιμοποιούν το HTTP για να τραβήξουν τις πληροφορίες από το διακομιστή με την ευκολία τους. Ειδικότερα, η σύνδεση TCP εκκινείται από το μηχάνημα που επιθυμεί να λάβει το αρχείο. Από την άλλη πλευρά, το SMTP είναι πρωτίστως ένα πρωτόκολλο ώθησης - ο διακομιστής αποστολής μηνυμάτων σπρώχνει το αρχείο στο διακομιστή αλληλογραφίας λήψης. Συγκεκριμένα, η σύνδεση TCP ξεκινάει από το μηχάνημα που θέλει να στείλει το αρχείο.

Μια δεύτερη διαφορά, την οποία αναφέραμε και στο παρελθόν, είναι ότι το SMTP απαιτεί κάθε μήνυμα, συμπεριλαμβανομένου του σώματος κάθε μηνύματος, να είναι σε μορφή ASCII 7-bit. Εάν το μήνυμα περιέχει χαρακτήρες που δεν είναι ASCII 7 bit (για παράδειγμα, γαλλικοί χαρακτήρες με επίκεντρο) ή περιέχουν δυαδικά δεδομένα (όπως ένα αρχείο εικόνας), τότε το μήνυμα πρέπει να κωδικοποιηθεί σε ASCII 7-bit. Τα δεδομένα HTTP δεν επιβάλλουν αυτόν τον περιορισμό.

Μια τρίτη σημαντική διαφορά αφορά τον τρόπο χειρισμού ενός εγγράφου που αποτελείται από κείμενο και εικόνες (μαζί με ενδεχομένως άλλους τύπους μέσων). Το HTTP ενσωματώνει κάθε αντικείμενο στο δικό του μήνυμα απόκρισης HTTP. Το Internet mail τοποθετεί όλα τα αντικείμενα του μηνύματος στο messasge.