Perl

Η Perl είναι μια συντομογραφία του [Practical Extraction and Report Language], η οποία είναι μια γλώσσα προγραμματισμού που μπορεί να εκτελεστεί σε πολλές πλατφόρμες όπως το UNIX OS και το Windows OS. Η γλώσσα αναπτύχθηκε από τον Larry Wall το 1987.
Για το πλήρες άρθρο στο Perl ...

Εμφάνιση φίλτρου
Φίλτρα φιλοξενίας
A2 Themes & Host Me Filter

Λειτουργικό σύστημα

Χώρος στο δισκο

Μνήμη RAM

Τύπος δίσκου

Πυρήνες CPU

Είδος

Trust Pilot Name Hero
Βαθμολογία - 9.4
Name Hero Logo
Name Hero

Όνομα Ήρωας

Starter
$3.89 /Μηνιαίο

Κριτικές 206


Τοποθεσίες διακομιστή


Name Hero Servers in PhoenixΗνωμένες Πολιτείες Name Hero Servers in AmsterdamΟλλανδία
Συγκρίνω
Βαθμολογία - 8.4
Agility Hoster Logo
Agility Hoster

Ευελιξία Hoster

Personal Hosting Plan
$5 /Μηνιαίο


Τοποθεσίες διακομιστή


Agility Hoster Servers in GermanyΓερμανία
Συγκρίνω
Βαθμολογία - 7.4
Just Host Logo
Just Host

Μόνο οικοδεσπότης

Basic
$3.95 /Μηνιαίο

45 Κουπόνια

Τοποθεσίες διακομιστή


Just Host Servers in ProvoΗνωμένες Πολιτείες
Συγκρίνω
Βαθμολογία - 9
A2hosting Logo
A2hosting

Α2 φιλοξενία

Lite
$3.92 /Μηνιαίο

50 Κουπόνια

Τοποθεσίες διακομιστή


A2hosting Servers in AmsterdamΟλλανδία A2hosting Servers in MichiganΗνωμένες Πολιτείες A2hosting Servers in SingaporeΣιγκαπούρη
Συγκρίνω
Trust Pilot Mocha Host
Βαθμολογία - 9
Mocha Host Logo
Mocha Host

Host Mocha

Soho
$1.96 /Μηνιαίο

Κριτικές 1235

39 Κουπόνια

Τοποθεσίες διακομιστή


Mocha Host Servers in NetherlandsΟλλανδία Mocha Host Servers in ChicagoΗνωμένες Πολιτείες Mocha Host Servers in AustraliaΑυστραλία Mocha Host Servers in CanadaΚαναδάς Mocha Host Servers in ChinaΚίνα Mocha Host Servers in United KingdomΗνωμένο Βασίλειο
Συγκρίνω
Trust Pilot Pressable
Βαθμολογία - 9.6
Pressable Logo
Pressable

Πιέζεται

Personal
$25 /Μηνιαίο

Κριτικές 82


Τοποθεσίες διακομιστή


Pressable Servers in PhoenixΗνωμένες Πολιτείες Pressable Servers in AmsterdamΟλλανδία
Συγκρίνω
Trust Pilot JustHostMe
Βαθμολογία - 9.4
JustHostMe Logo
JustHostMe

JustHostMe

Starter
$3.11 /Μηνιαίο

Κριτικές 72


Τοποθεσίες διακομιστή


JustHostMe Servers in United KingdomΗνωμένο Βασίλειο
Συγκρίνω
Trust Pilot Orange Website
Βαθμολογία - 9.2
Orange Website Logo
Orange Website

Ιστοσελίδα Orange

Bronze Plan
$3.82 /Μηνιαίο

Κριτικές 157


Τοποθεσίες διακομιστή


Orange Website Servers in ReykjavikΙσλανδία
Συγκρίνω
Trust Pilot Smug Host
Βαθμολογία - 9.2
Smug Host Logo
Smug Host

Smug Host

Silver Package
$1.94 /Μηνιαίο

Κριτικές 21


Τοποθεσίες διακομιστή


Smug Host Servers in LondonΗνωμένο Βασίλειο
Συγκρίνω
Trust Pilot Cloudwings
Βαθμολογία - 9
Cloudwings Logo
Cloudwings

Cloudwings

Starter Plan
$0.99 /Μηνιαίο

Κριτικές 32


Τοποθεσίες διακομιστή


Cloudwings Servers in MunichΓερμανία
Συγκρίνω
Trust Pilot Base Zap
Βαθμολογία - 8.2
Base Zap Logo
Base Zap

Βάση Zap

Basic plan
$2.49 /Μηνιαίο

Κριτικές 5


Τοποθεσίες διακομιστή


Base Zap Servers in ChicagoΗνωμένες Πολιτείες Base Zap Servers in QuebecΚαναδάς Base Zap Servers in FranconvilleΓαλλία
Συγκρίνω
Trust Pilot Host Dns.fr
Βαθμολογία - 8.2
Host Dns.fr Logo
Host Dns.fr

Φιλοξενία Dns.fr

STARTER
$1.45 /Μηνιαίο

Κριτικές 5


Τοποθεσίες διακομιστή


Host Dns.fr Servers in ChicagoΗνωμένες Πολιτείες Host Dns.fr Servers in SydneyΑυστραλία Host Dns.fr Servers in FranceΓαλλία
Συγκρίνω
Trust Pilot StackFlare
Βαθμολογία - 8
StackFlare Logo
StackFlare

StackFlare

Starter
$2.78 /Μηνιαίο

Κριτικές 4


Τοποθεσίες διακομιστή


StackFlare Servers in MumbaiΙνδία
Συγκρίνω
Trust Pilot DDoS-guard.net
Βαθμολογία - 8
DDoS-guard.net Logo
DDoS-guard.net

DDoS-guard.net

BASIC
$25 /Μηνιαίο

Κριτικές 3


Τοποθεσίες διακομιστή


DDoS-guard.net Servers in MoscowΡωσική Ομοσπονδία DDoS-guard.net Servers in AmsterdamΟλλανδία DDoS-guard.net Servers in United KingdomΗνωμένο Βασίλειο
Συγκρίνω
Trust Pilot Alls-Heberg
Βαθμολογία - 7.8
Alls-Heberg Logo
Alls-Heberg

Alls-Heberg

Basic
$0.54 /Μηνιαίο

Κριτικές 136


Τοποθεσίες διακομιστή


Alls-Heberg Servers in NanterreΓαλλία
Συγκρίνω
Trust Pilot Domainregister
Βαθμολογία - 7.6
Domainregister Logo
Domainregister

Domainregister

Starter
$30.36 /Ετήσια

Κριτικές 2


Τοποθεσίες διακομιστή


Domainregister Servers in ItalyΙταλία
Συγκρίνω
Trust Pilot L3Web Hosting
Βαθμολογία - 7.6
L3Web Hosting Logo
L3Web Hosting

Φιλοξενία L3Web

START UP
$1.99 /Μηνιαίο

Κριτικές 2


Τοποθεσίες διακομιστή


L3Web Hosting Servers in IndiaΙνδία L3Web Hosting Servers in MunichΓερμανία L3Web Hosting Servers in MiamiΗνωμένες Πολιτείες L3Web Hosting Servers in SingaporeΣιγκαπούρη L3Web Hosting Servers in United KingdomΗνωμένο Βασίλειο
Συγκρίνω
Trust Pilot Tservers4
Βαθμολογία - 7.6
Tservers4 Logo
Tservers4

Τσέρερς

Beginner Hosting Plan
$6.5 /Ετήσια

Κριτικές 2


Τοποθεσίες διακομιστή


Tservers4 Servers in DallasΗνωμένες Πολιτείες Tservers4 Servers in ParisΓαλλία Tservers4 Servers in AmsterdamΟλλανδία Tservers4 Servers in VancouverΚαναδάς Tservers4 Servers in NigeriaΝιγηρία
Συγκρίνω
Trust Pilot qbic.co.uk
Βαθμολογία - 7.6
qbic.co.uk Logo
qbic.co.uk

qbic.co.uk

Qbic Internet Solutions Starter Plan
$2.48 /Μηνιαίο

Κριτικές 2

Συγκρίνω
Trust Pilot Xet Host
Βαθμολογία - 7.4
Xet Host Logo
Xet Host

Host Xet

Cole
$3.59 /Μηνιαίο

Κριτικές 1


Τοποθεσίες διακομιστή


Xet Host Servers in BudapestΟυγγαρία
Συγκρίνω
Trust Pilot Final Tek
Βαθμολογία - 7.4
Final Tek Logo
Final Tek

Τελικό Τεκ

Single Hosting
$0.8 /Μηνιαίο

Κριτικές 1


Τοποθεσίες διακομιστή


Final Tek Servers in PragueΤσεχική Δημοκρατία Final Tek Servers in GermanyΓερμανία Final Tek Servers in SwitzerlandΕλβετία
Συγκρίνω

Το Perl είναι μια ερμηνευμένη γλώσσα και σημαίνει Πρακτική Εξαγωγή και Γλώσσα Αναφοράς (γλώσσα για πρακτική εξαγωγή δεδομένων και αναφορά).

 

Με την Perl, για παράδειγμα, μπορείτε να δημιουργήσετε ένα σενάριο που ανοίγει ένα ή περισσότερα αρχεία, επεξεργάζεται πληροφορίες και γράφει τα αποτελέσματα.

 

 

what is perl hosting

 

Το Perl είναι ένα εξαιρετικό εργαλείο για επικοινωνία με διακομιστές Ιστού μέσω του Common Gateway Interface (CGI), μιας κοινής διεπαφής επικοινωνίας.

Οι εντολές Perl μπορούν εύκολα να λάβουν δεδομένα από μια φόρμα HTML ή άλλη πηγή και να κάνουν κάτι μαζί της.

 

Perl Hosting

 

Μια άλλη γλώσσα προγραμματισμού που όχι μόνο είχε τη δημοτικότητά της στο παρελθόν, αλλά εξακολουθεί να χρησιμοποιείται από τους προγραμματιστές ιστού σήμερα είναι η Perl. Το όνομα της γλώσσας σημαίνει - "μια πρακτική γλώσσα για την εξαγωγή δεδομένων και την αναφορά". Η Perl παρέχει άφθονες ευκαιρίες για την ανάπτυξη συνοπτικών και αποτελεσματικών εφαρμογών, προγραμμάτων συστημάτων.

 

Η παροχή φιλοξενίας για την Perl δεν απαιτεί ειδικές λειτουργίες. Η φιλοξενία με δυνατότητα Perl λειτουργεί με δύο τρόπους - CGI ή mod_perl. Η γλώσσα χαρακτηρίζεται από την ταχύτητα και την αξιοπιστία της. Οι διανομές Perl είναι διαθέσιμες για όλες τις πλατφόρμες. Εάν το θεωρήσουμε σε πολλά υποσχόμενη κατεύθυνση, τότε όλες οι ελπίδες συνδέονται με την κυκλοφορία της έκτης έκδοσης της γλώσσας. Επίσης, η προοπτική είναι η χρήση σύγχρονων πλαισίων Perl, για παράδειγμα, Catalyst.

 

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

 

Το Perl είναι μια γλώσσα προγραμματισμού που ονομάζεται Perl, η οποία σας επιτρέπει να δημιουργείτε δυναμικές ιστοσελίδες όπως πίνακες ανακοινώσεων.

 

Η Perl είναι μια γλώσσα προγραμματισμού που χρησιμοποιεί τον μηχανισμό του CGI σε έναν διακομιστή ιστού. Εκτελώντας ένα πρόγραμμα γραμμένο σε γλώσσα Perl, μπορεί να ξεκινήσει το CGI και να δημιουργηθεί μια δυναμική ιστοσελίδα.

 

Το Perl είναι μια τεχνολογία διακομιστή που, σε αντίθεση με το JavaScript, θα εκτελείται στον διακομιστή.

 

Θα πρέπει να σημειωθεί ότι εάν το CGI τεθεί εκτός ελέγχου στον διακομιστή ενοικίασης (κοινόχρηστος διακομιστής) και ο διακομιστής τερματιστεί, ενδέχεται να προκύψουν περιορισμοί χρήσης.

 

CGIείναι μια συντομογραφία για το [Common Gateway Interface], το οποίο είναι ένα πρόγραμμα διακομιστή που δημιουργεί δυναμικές ιστοσελίδες όπως πίνακες ανακοινώσεων και συνομιλίες. Χρησιμοποιώντας το CGI, μπορείτε να δημιουργήσετε δυναμικές ιστοσελίδες χρησιμοποιώντας γλώσσες προγραμματισμού όπως Ruby, Python και Perl. Μπορείτε να δημιουργήσετε έναν αρχικό μετρητή πρόσβασης ή ένα καλάθι αγορών και να το δημοσιεύσετε στον ιστότοπο. Αυτή τη στιγμή χρησιμοποιείται από πολλούς διακομιστές ιστού. Το CGI μπορεί να χρησιμοποιηθεί σε οποιαδήποτε γλώσσα, συμπεριλαμβανομένων των Perl, Ruby και C, αλλά η πιο δημοφιλής είναι η γλώσσα Perl.

 

Ιστορικό φιλοξενίας Perl

 

Το Perl είναι μια συντομογραφία για [Πρακτική Εξαγωγή και Γλώσσα Αναφορών], η οποία είναι μια γλώσσα προγραμματισμού που μπορεί να εκτελεστεί σε πολλές πλατφόρμες όπως το UNIX OS και το λειτουργικό σύστημα Windows. Η γλώσσα αναπτύχθηκε από τον Larry Wall το 1987. Χρησιμοποιείται ευρέως ως γλώσσα προγραμματισμού ανάπτυξης για δημιουργία εφαρμογών ιστού, διαχείριση συστήματος, επεξεργασία κειμένου κ.λπ. Συγκεκριμένα, υπερέχει στην επεξεργασία αρχείων όπως η αναζήτηση κειμένου και η εξαγωγή. Ο Perl ανήκει στη γλώσσα scripting μεταξύ των γλωσσών προγραμματισμού.

 

Μια γλώσσα δέσμης ενεργειών είναι ένας γενικός όρος για έναν τύπο γλώσσας προγραμματισμού που ερμηνεύει και εκτελεί ένα πρόγραμμα που είναι σχετικά εύκολο να γραφτεί και να εκτελεστεί όπως ένα σενάριο. Επιπλέον, ένα από τα χαρακτηριστικά του γραπτού προγράμματος είναι ότι η διαδικασία έως την εκτέλεση απλοποιείται και το αποτέλεσμα μπορεί να εξέλθει αμέσως. Οι γνωστές γλώσσες δέσμης ενεργειών περιλαμβάνουν JavaScript, Perl, Python, PHP και Ruby. Το Perl διανέμεται δωρεάν ως GPL (The GNU General Public License: άδεια λογισμικού = άδεια δωρεάν λογισμικού).

 

Η σημειογραφία του Perl είναι παρόμοια με τη C, αλλά ενσωματώνει τις εξαιρετικές δυνατότητες του C και άλλων γλωσσών προγραμματισμού όπως σενάρια, awk και shell Δεδομένου ότι είναι ένας τύπος διερμηνέα που δεν απαιτεί επεξεργασία συλλογής (μετατροπή σε μορφή που μπορεί να εκτελεστεί σε υπολογιστή), μπορεί να εκτελεστεί αμέσως μετά τη σύνταξη ενός προγράμματος.

Είναι ικανό για επεξεργασία υψηλής ταχύτητας ακόμη και σε γλώσσες scripting και έχει υψηλή συμβατότητα προς τα πίσω (συμβατότητα με παλαιότερες εκδόσεις).

 

Μπορείτε επίσης να προσθέσετε νέες λειτουργίες ως ενότητα. Για παράδειγμα, Benchmark, base, Encode, utf8, file :: Basename, File: Copy, File: Path, File: Spec, File: Temp, Net: FTP, Scalar: Util, Storable, Sys: Μπορεί να ειπωθεί ότι είναι επίσης ένα μεγάλο χαρακτηριστικό ότι υπάρχουν πολλές ενότητες που μπορούν να χρησιμοποιηθούν ως στάνταρ, όπως Hostname, Time: Piece, FindBin κ.λπ.

 

Είναι επίσης πολλαπλής πλατφόρμας και μπορεί να εκτελεστεί σε περισσότερους τύπους διακομιστών, συμπεριλαμβανομένων λειτουργικών συστημάτων τύπου UNIX, λειτουργικών συστημάτων που βασίζονται σε Windows, Mac OS, Linux OS και διακομιστών ιστού όπως Apache και IIS.

 

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

 

Πώς λειτουργεί το web hosting CGI στο Perl;

 

Ο όρος CGI προέρχεται από το Common Gateway Interface. Είναι απλώς ένας άλλος προσδιορισμός για αυτό που γνωρίζουμε ως API (Application Programming Interface). Περίληψη της ιστορίας, το CGI είναι απλώς ένα API για τον διακομιστή ιστού.

 

Ο διακομιστής Ιστού, με τη σειρά του, είναι το λογισμικό που στέλνει ιστοσελίδες σε προγράμματα περιήγησης ιστού (προγράμματα περιήγησης όπωςInternet ExplorerήNetscape). Τεχνικά, τα προγράμματα περιήγησης θα πρέπει να ονομάζονται webΟι πελάτες και τα άτομα που τα χρησιμοποιούν θα πρέπει να ονομάζονται προγράμματα περιήγησης.

 

Υπάρχουν πολλές πληροφορίες για το CGI στο Διαδίκτυο, ωστόσο, τις περισσότερες φορές, αναντιστοιχίες και γεμάτοι μύθους και προκαταλήψεις. Ας ξεκαθαρίσουμε κάποιες αμφιβολίες αναφέροντας τι δεν είναι CGI.

 

Το CGI δεν είναι γλώσσα προγραμματισμού: αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε οποιαδήποτε γλώσσα της επιλογής σας για να γράψετε ένα πρόγραμμα CGI. Είναι σαφές ότι η επιλεγμένη γλώσσα πρέπει να είναι σε θέση να διαβάσει μια «είσοδο» και να γράψει μια «έξοδο». Γνωρίζετε κάποια γλώσσα προγραμματισμού που δεν προσφέρει τέτοιες δυνατότητες;

 

Δεν χρειάζεστε τη γλώσσα Perl. Το Perl μπορεί να χρησιμοποιηθεί όπως και οποιαδήποτε άλλη γλώσσα, όπως PHP, C, Phyton, Object Pascal κ.λπ. Δεν είναι μόνο για ειδικούς στα συστήματα Unix. Στην πραγματικότητα, δεν χρειάζεται να είναι ειδικός, οι βασικές δεξιότητες προγραμματισμού είναι περισσότερες από αρκετές.

 

Δεν είναι στυλ προγραμματισμού. Χρησιμοποιήστε το δικό σας στυλ, γιατί μόνο με το "input" και το "output" μπορούμε να κάνουμε τον web server να "συνομιλήσει" με το CGI.

Ακούγεται σαν αστείο, αλλά ένας διακομιστής Ιστού περιμένει - εκτός εάν η πρόσβαση στον ιστότοπο γίνεται μαζικά.

 

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

 

Όταν ο διακομιστής ιστού λαμβάνει ένα αίτημα, εκτελεί τρεις εργασίες με την ακόλουθη σειρά:


  • Στείλτε μια γραμμή ρηχού κειμένου που περιέχει τον τύπο αρχείου που θα σταλεί, δηλαδή HTML, GIF, JPEG ή οποιοδήποτε άλλο.

  • Στείλτε μια κενή γραμμή.

  • Στέλνει τα περιεχόμενα του αρχείου.

 

Πώς στέλνει τα αρχεία ο διακομιστής Web;

 

Ενα κάθε φορά. Εκπληκτικά, μόνο ένα.

 

Γνωρίζουμε ότι μια τυπική ιστοσελίδα αποτελείται από ένα έγγραφο HTML και μερικά γραφικά. Κάθε ένα από αυτά είναι ένα διαφορετικό αρχείο που πρέπει να σταλεί στο πρόγραμμα περιήγησης. Καθώς ο διακομιστής ιστού στέλνει μόνο ένα αρχείο κάθε φορά, το πρόγραμμα περιήγησης πρέπει να ξεκινήσει μια νέα περίοδο λειτουργίας (αίτημα) για καθένα από τα αρχεία που χρειάζεται. Ευτυχώς, τόσο ο διακομιστής ιστού όσο και το πρόγραμμα περιήγησης έχουν πολλές εργασίες. Το πρόγραμμα περιήγησης μπορεί να ζητήσει πολλά αρχεία ταυτόχρονα και ο διακομιστής ιστού μπορεί να στείλει πολλά αρχεία ταυτόχρονα, ωστόσο, για καθένα από τα αρχεία που ζητήθηκαν, απαιτείται ξεχωριστή περίοδος σύνδεσης.

 

Ο διακομιστής Ιστού μπορεί να στέλνει αρχεία μόνο;

 

Οχι απαραίτητα. Στην πραγματικότητα, αυτό που συμβαίνει είναι απλώς μια μεταφορά δεδομένων. Θυμηθείτε ότι ο διακομιστής και ο πελάτης (το πρόγραμμα περιήγησης) εκτελούνται συνήθως σε διαφορετικούς υπολογιστές. Μπορούν ακόμη και να χρησιμοποιούν διαφορετικά λειτουργικά συστήματα σε μηχανήματα με διαφορετικούς μικροεπεξεργαστές. Το πρόγραμμα περιήγησης ζητά μόνο έναν "πόρο" και δεν γνωρίζει, ούτε χρειάζεται να γνωρίζει, από πού λαμβάνει ο διακομιστής τα δεδομένα.

 

Ωστόσο, ένας τυπικός διακομιστής προγραμματίζεται για τη λήψη των δεδομένων του από ένα αρχείο. Διαβάζει απλώς τα δεδομένα από το αρχείο και τα διαβιβάζει στον πελάτη. Ως αποτέλεσμα αυτής της διαδικασίας, ο διακομιστής στέλνει μόνο στατικά δεδομένα, δηλαδή, ο διακομιστής δεν αλλάζει δυναμικά τα δεδομένα που αποστέλλονται.

 

Τι να κάνετε για να στείλετε δυναμικά δεδομένα;

 

Δεν είναι καθόλου δύσκολο. Το CGI σχεδιάστηκε ακριβώς για να εκπληρώσει αυτήν τη λειτουργία. Απλώς γράφετε ένα πρόγραμμα που παράγει δεδομένα δυναμικά και αυτά τα δεδομένα, αντί ενός αρχείου, αποστέλλονται στο πρόγραμμα περιήγησης.

 

Με αυτόν τον τρόπο ένα πρόγραμμα CGI επεκτείνει τη λειτουργικότητα ενός διακομιστή, με τον ίδιο τρόπο που, για παράδειγμα, ένα DLL επεκτείνει τη λειτουργικότητα των Windows. Αλλά υπάρχει μια μεγάλη διαφορά: το CGI είναι πολύ πιο απλό να γράψει από οτιδήποτε άλλο για τα Windows.

 

Αλλά, πώς να μιλήσετε με το πρόγραμμα περιήγησης;

 

Δεν χρειάζεται να μιλήσετε στο πρόγραμμα περιήγησης. Αυτός είναι ο διακομιστής που κάνει αυτή τη δουλειά. Το καλύτερο μέρος του παιχνιδιού είναι ότι δεν χρειάζεται καν να μιλήσετε με τον διακομιστή. Το μόνο που έχετε να κάνετε είναι να γράψετε στην τυπική έξοδο (τυπική έξοδος). Με τον ίδιο τρόπο, όπως, για παράδειγμα, χρησιμοποιείτε το printf () από τη γλώσσα C.

 

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

 

Είπαμε παραπάνω ότι μπορείτε να χρησιμοποιήσετε το δικό σας στυλ. Λοιπόν, έλα: ας υποθέσουμε ότι ο διακομιστής σας λειτουργεί κάτω από το DOS. Στην πραγματικότητα, δεν υπάρχει τέτοιος διακομιστής, αλλά υπάρχουν διακομιστές Windows και τα Windows μπορούν να ερμηνεύσουν τις εντολές MS-DOS. Επομένως, φανταστείτε ότι θέλετε να στείλετε μια λίστα με τον τρέχοντα κατάλογό σας στον Ιστό (όχι καλή ιδέα, αλλά δείχνει πόσο απλή είναι αυτή η εργασία). Το MS-DOS έχει επίσης την άμεση εντολή που στέλνει τη λίστα καταλόγων σε τυπική έξοδο. Έτσι, θεωρητικά, θα μπορούσαμε να δημιουργήσουμε το ακόλουθο σενάριο:

 

1. Εργασία: προσδιορίστε τον τύπο δεδομένων που θα σταλούν:

2. Εργασία: αποστολή κενής γραμμής:

3. Εργασία: αποστολή του περιεχομένου:

 

Το παραπάνω παράδειγμα είναι απλώς μια προσομοίωση του τρόπου λειτουργίας ενός σεναρίου CGI χρησιμοποιώντας στοιχεία για τα οποία γνωρίζουν οι περισσότεροι άνθρωποι. Αναφέρθηκε μόνο για να κατανοήσουμε την αρχή της παραγωγής και όχι για να λειτουργήσουμε πραγματικά. Τώρα, ένα ακόμη βήμα ...

 

Πώς να λάβετε πληροφορίες;

 

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

 

Γι 'αυτό ακριβώς ο προγραμματισμός ενός CGI είναι πολύ απλός. Το πρόγραμμα λαμβάνει είσοδο από τον χρήστη μόνο μία φορά, ακριβώς στην αρχή και στέλνει μόνο μία απάντηση (έξοδος).Ωστόσο, τόσο η είσοδος όσο και η απόκριση μπορεί να έχουν οποιοδήποτε μέγεθος και πολυπλοκότητα, ανάλογα με το τι μπορεί να έχει το πρόγραμμά σας.

 

Ωστόσο, πρέπει να γνωρίζετε ότι το πρόγραμμά σας μπορεί να λάβει είσοδο χρήστη με δύο τρόπους, ανάλογα με τη μέθοδο που χρησιμοποιεί το πρόγραμμα περιήγησης για να το στείλει στο διακομιστή.

 

Πού βρίσκει το πρόγραμμα περιήγησης τον χρήστη;

 

Το πρόγραμμα περιήγησης δέχεται είσοδο χρησιμοποιώντας φόρμες HTML. Μια φόρμα μπορεί να δώσει εντολή στο πρόγραμμα περιήγησης να στείλει δεδομένα χρησιμοποιώντας δύο μεθόδους: GET και POST.

 

Η μέθοδος GET στέλνει τις καταχωρήσεις ως μέρος του URL. Η μέθοδος POST στέλνει τις καταχωρήσεις ως stdin. Η δεύτερη μέθοδος φαίνεται να έχει κάποια πλεονεκτήματα:


  • Είναι δυνατή η αποστολή περισσότερων δεδομένων (η διεύθυνση URL έχει όριο μεγέθους).

  • Τα δεδομένα δεν καταγράφονται σε αρχεία καταγραφής. Για παράδειγμα: η αποστολή κωδικού πρόσβασης ως μέρος μιας διεύθυνσης URL αφήνει ίχνη στα διάφορα συστήματα στα οποία περνούν τα δεδομένα!

  • Τα δεδομένα δεν εμφανίζονται στο πεδίο διευθύνσεων του προγράμματος περιήγησης. Και πάλι, η εμφάνιση κωδικού πρόσβασης στο πρόγραμμα περιήγησης ενδέχεται να μην είναι της αρεσκείας του χρήστη.

 

Πώς ξέρω ποια μέθοδος χρησιμοποιείται;

 

Ο διακομιστής Ιστού, πριν από τη φόρτωση του προγράμματος CGI, αρχικοποιεί ορισμένες μεταβλητές περιβάλλοντος. Μπορείτε να αναλύσετε αυτές τις μεταβλητές για να μάθετε την ποσότητα και την πηγή των δεδομένων εισαγωγής.

Μία από τις μεταβλητές περιβάλλοντος είναι REQUEST_METHOD. Η τιμή του μπορεί να είναι POST, GET και, τελικά, HEAD.

 

Εάν το REQUEST_METHOD δηλώνει POST, η μεταβλητή CONTENT_LENGTH θα υποδείξει πόσα byte δεδομένων πρέπει να διαβαστούν μέσω του stdin και η μεταβλητή CONTENT_TYPE θα δείξει ότι τα δεδομένα προέρχονται από μια φόρμα (ή πιθανώς από κάποια άλλη πηγή).

 

Μόλις ληφθούν τα δεδομένα (διαβάζεται από τον διακομιστή), μπορεί να υποβληθεί σε άμεση επεξεργασία και η απάντηση (έξοδος) να αποσταλεί μέσω ενός stdout. Η απάντηση γράφεται συνήθως με τη μορφή δεδομένων HTML, με όλες τις απαραίτητες μορφοποιήσεις. Ωστόσο, τα προγράμματα CGI μπορούν να παράγουν κάθε τύπο απόκρισης, όπως ένα αρχείο GIF ή οτιδήποτε άλλο.

 

Αυτός είναι ο λόγος για τον οποίο πρέπει να υποδείξετε στο πρόγραμμα περιήγησης, στα πρώτα 2 στάδια της μετάδοσης, τον τύπο των δεδομένων που θα σταλούν. Μπορούμε να αναγνωρίσουμε δεδομένα HTML στέλνοντας τη συμβολοσειρά τύπου περιεχομένου: text / Html (εργασία 1) ακολουθούμενη από μια κενή συμβολοσειρά (εργασία 2). Χρησιμοποιώντας τη γλώσσα C θα ήταν printf ("Content-type: text / Html \ n \ n"); όπου \ n είναι μια αλλαγή γραμμής και η δεύτερη \ n μια άλλη αλλαγή γραμμής για να υποδείξει την κενή γραμμή.