ภาษาเพิร์ล (Perl)

Perl เป็นตัวย่อของ [Practical Extraction and Report Language] ซึ่งเป็นภาษาโปรแกรมที่สามารถทำงานบนหลายแพลตฟอร์ม เช่น UNIX OS และ Windows OS ภาษาได้รับการพัฒนาโดย Larry Wall ในปี 1987
สำหรับบทความฉบับเต็มบน Perl ...

แสดงตัวกรอง
ตัวกรองโฮสติ้ง
A2 Themes & Host Me Filter

ระบบปฏิบัติการ

พื้นที่ดิสก์

หน่วยความจำ RAM

ประเภทดิสก์

แกน CPU

จัดเรียง

ไว้วางใจนักบิน Satelit Web
คะแนน - 7.4
Satelit Web Logo
Satelit Web

เว็บ Satelit

Galaksi
$9.7 /รายเดือน

รีวิว 1


ตำแหน่งเซิร์ฟเวอร์


Satelit Web Servers in United Statesสหรัฐ
เปรียบเทียบ
ไว้วางใจนักบิน New Sys
คะแนน - 7.4
New Sys Logo
New Sys

น้องใหม่

BASIC
$2.68 /รายเดือน

รีวิว 1


ตำแหน่งเซิร์ฟเวอร์


New Sys Servers in Ashburnสหรัฐ
เปรียบเทียบ
ไว้วางใจนักบิน itanets.co.uk
คะแนน - 7
itanets.co.uk Logo
itanets.co.uk

itanets.co.uk

JSP HOSTING 1
$5.19 /รายเดือน

รีวิว 2

เปรียบเทียบ
ไว้วางใจนักบิน Fragnet
คะแนน - 6
Fragnet Logo
Fragnet

Fragnet

Standard
$4.95 /รายเดือน

รีวิว 40

14 คูปอง

ตำแหน่งเซิร์ฟเวอร์


Fragnet Servers in Swedenสวีเดน Fragnet Servers in United Statesสหรัฐ
เปรียบเทียบ
ไว้วางใจนักบิน Hostek
คะแนน - 6
Hostek Logo
Hostek

Hostek

Starter
$7.5 /รายเดือน

รีวิว 2


ตำแหน่งเซิร์ฟเวอร์


Hostek Servers in United Statesสหรัฐ
เปรียบเทียบ
ไว้วางใจนักบิน Leap Switch
คะแนน - 5.8
Leap Switch Logo
Leap Switch

สวิตช์กระโดด

Linux UVPS-1 plan
$8.03 /รายเดือน

รีวิว 7


ตำแหน่งเซิร์ฟเวอร์


Leap Switch Servers in Kievยูเครน Leap Switch Servers in Ashevilleสหรัฐ Leap Switch Servers in Lisbonโปรตุเกส Leap Switch Servers in Madridสเปน Leap Switch Servers in Indiaอินเดีย
เปรียบเทียบ
คะแนน - 10
Lenasi Logo
Lenasi

เลนาซิ

Baby Bear
$14.07 /เป็นประจำทุกปี


ตำแหน่งเซิร์ฟเวอร์


Lenasi Servers in Ugandaยูกันดา Lenasi Servers in United Kingdomประเทศอังกฤษ Lenasi Servers in Canadaแคนาดา Lenasi Servers in Kenyaเคนยา Lenasi Servers in United Statesสหรัฐ
เปรียบเทียบ
คะแนน - 10
Pamir Web Host Logo
Pamir Web Host

โฮสต์เว็บ Pamir

Bronze
$4.99 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Pamir Web Host Servers in Germanyเยอรมนี Pamir Web Host Servers in Kansas Cityสหรัฐ Pamir Web Host Servers in Canadaแคนาดา Pamir Web Host Servers in Finlandฟินแลนด์ Pamir Web Host Servers in Franceฝรั่งเศส Pamir Web Host Servers in United Kingdomประเทศอังกฤษ
เปรียบเทียบ
คะแนน - 10
IDreg.net Logo
IDreg.net

IDreg.net

SharedHosting USA
$0.62 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


IDreg.net Servers in United Statesสหรัฐ IDreg.net Servers in Indonesiaอินโดนีเซีย IDreg.net Servers in Singaporeสิงคโปร์
เปรียบเทียบ
คะแนน - 10
IDreg.net Logo
IDreg.net

IDreg.net

SharedHosting Indonesia
$0.62 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


IDreg.net Servers in United Statesสหรัฐ IDreg.net Servers in Indonesiaอินโดนีเซีย IDreg.net Servers in Singaporeสิงคโปร์
เปรียบเทียบ
คะแนน - 10
PT Servidor Logo
PT Servidor

พีทีเซอร์วิเดอร์

PTSBasic
$2.68 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


PT Servidor Servers in Lisbonโปรตุเกส
เปรียบเทียบ
คะแนน - 10
Cheap Hosting Pk Logo
Cheap Hosting Pk

Pk Hosting ราคาถูก

Web Hosting Plan 1
$11.94 /เป็นประจำทุกปี


ตำแหน่งเซิร์ฟเวอร์


Cheap Hosting Pk Servers in Nurembergเยอรมนี Cheap Hosting Pk Servers in New Yorkสหรัฐ Cheap Hosting Pk Servers in Vancouverแคนาดา Cheap Hosting Pk Servers in Moscowสหพันธรัฐรัสเซีย Cheap Hosting Pk Servers in Minskเบลารุส
เปรียบเทียบ
คะแนน - 10
Serverpace.io Logo
Serverpace.io

Serverpace.io

VPS Linux - Basic
$4.5 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Serverpace.io Servers in Amsterdamเนเธอร์แลนด์ Serverpace.io Servers in Moscowสหพันธรัฐรัสเซีย Serverpace.io Servers in Minskเบลารุส Serverpace.io Servers in United Statesสหรัฐ
เปรียบเทียบ
คะแนน - 10
Serverpace.io Logo
Serverpace.io

Serverpace.io

Cloud hosting - Basic
$4.5 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Serverpace.io Servers in Amsterdamเนเธอร์แลนด์ Serverpace.io Servers in Moscowสหพันธรัฐรัสเซีย Serverpace.io Servers in Minskเบลารุส Serverpace.io Servers in United Statesสหรัฐ
เปรียบเทียบ
คะแนน - 9.9
Hosting France Logo
Hosting France

โฮสติ้งฝรั่งเศส

Hosting Perso
$3.09 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Hosting France Servers in Franceฝรั่งเศส
เปรียบเทียบ
คะแนน - 9.4
Forex Cheap VPS Logo
Forex Cheap VPS

Forex VPS ราคาถูก

LITE VPS
$5.99 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Forex Cheap VPS Servers in United Statesสหรัฐ
เปรียบเทียบ
คะแนน - 9.2
AvaHost Logo
AvaHost

AvaHost

Small
$3.17 /รายเดือน

18 คูปอง

ตำแหน่งเซิร์ฟเวอร์


AvaHost Servers in Londonประเทศอังกฤษ AvaHost Servers in Charlotteสหรัฐ AvaHost Servers in Netherlandsเนเธอร์แลนด์
เปรียบเทียบ
คะแนน - 9.2
Niagahoster Logo
Niagahoster

Niagahoster

Cloud VPS Hosting - Nano
$9.56 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Niagahoster Servers in United Kingdomประเทศอังกฤษ Niagahoster Servers in Jakartaอินโดนีเซีย Niagahoster Servers in Singaporeสิงคโปร์ Niagahoster Servers in United Statesสหรัฐ
เปรียบเทียบ
คะแนน - 9.2
ALCHosting Logo
ALCHosting

ALCHosting

TITANIUM
$2.99 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


ALCHosting Servers in Makati Cityฟิลิปปินส์ ALCHosting Servers in Chicagoสหรัฐ ALCHosting Servers in Amsterdamเนเธอร์แลนด์ ALCHosting Servers in Frankfurt am Mainเยอรมนี ALCHosting Servers in Singaporeสิงคโปร์
เปรียบเทียบ
คะแนน - 8.9
MyIdealHost Logo
MyIdealHost

MyIdealHost

Starter
$1 /รายเดือน

เปรียบเทียบ
คะแนน - 7.8
Bana Hosting Logo
Bana Hosting

บาน่าโฮสติ้ง

Bana-Starter Deluxe
$4.95 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Bana Hosting Servers in Danburyสหรัฐ Bana Hosting Servers in Amsterdamเนเธอร์แลนด์ Bana Hosting Servers in United Kingdomประเทศอังกฤษ
เปรียบเทียบ

Perl เป็นภาษาที่ตีความหมายและย่อมาจาก Practical Extraction and Report Language (ภาษาสำหรับการดึงข้อมูลและการรายงานในทางปฏิบัติ)

 

ตัวอย่างเช่นด้วย Perl คุณสามารถสร้างสคริปต์ที่เปิดไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไปประมวลผลข้อมูลและเขียนผลลัพธ์

 

 

what is perl hosting

 

Perl เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการสื่อสารกับเว็บเซิร์ฟเวอร์ผ่าน Common Gateway Interface (CGI) ซึ่งเป็นอินเทอร์เฟซการสื่อสารทั่วไป

คำสั่ง Perl สามารถรับข้อมูลจากรูปแบบ HTML หรือแหล่งอื่น ๆ และทำบางสิ่งกับมันได้อย่างง่ายดาย

 

Perl Hosting

 

ภาษาโปรแกรมอื่นที่ไม่เพียง แต่ได้รับความนิยมในอดีต แต่ยังคงใช้โดยนักพัฒนาเว็บในปัจจุบันคือ Perl ชื่อภาษาย่อมาจาก - "ภาษาที่ใช้ได้จริงสำหรับการดึงข้อมูลและการรายงาน" Perl มอบโอกาสมากมายในการพัฒนาแอพพลิเคชั่นโปรแกรมระบบที่รัดกุมและมีประสิทธิภาพ

 

การให้บริการโฮสติ้งสำหรับ Perl ไม่จำเป็นต้องมีคุณสมบัติพิเศษใด ๆ โฮสติ้งที่เปิดใช้งาน Perl ทำงานได้สองวิธี - CGI หรือ mod_perl ภาษามีลักษณะความเร็วและความน่าเชื่อถือ การแจกแจง Perl พร้อมใช้งานสำหรับทุกแพลตฟอร์ม หากเราพิจารณาไปในทิศทางที่มีแนวโน้มความหวังทั้งหมดจะเกี่ยวข้องกับการเปิดตัวภาษาเวอร์ชันที่หก นอกจากนี้ความคาดหวังคือการใช้ Perl framework สมัยใหม่ตัวอย่างเช่น 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 เป็นคำย่อของ [Practical Extraction and Report Language] ซึ่งเป็นภาษาโปรแกรมที่สามารถทำงานบนแพลตฟอร์มต่างๆเช่น UNIX OS และ Windows OS ภาษานี้ได้รับการพัฒนาโดย Larry Wall ในปี 1987 โดยใช้กันอย่างแพร่หลายในฐานะภาษาการเขียนโปรแกรมสำหรับการพัฒนาสำหรับการสร้างเว็บแอปพลิเคชันการจัดการระบบการประมวลผลข้อความ ฯลฯ โดยเฉพาะอย่างยิ่งภาษานี้มีความสามารถในการประมวลผลไฟล์เช่นการค้นหาและการแยกข้อความ Perl เป็นภาษาสคริปต์ในภาษาโปรแกรม

 

ภาษาสคริปต์เป็นคำทั่วไปสำหรับภาษาโปรแกรมประเภทหนึ่งที่ตีความและดำเนินการโปรแกรมที่ค่อนข้างง่ายในการเขียนและดำเนินการเช่นเดียวกับสคริปต์ นอกจากนี้คุณสมบัติอย่างหนึ่งของโปรแกรมที่เขียนขึ้นคือขั้นตอนที่ถึงการดำเนินการนั้นง่ายขึ้นและสามารถแสดงผลลัพธ์ได้ทันที ภาษาสคริปต์ที่รู้จักกันดี ได้แก่ JavaScript, Perl, Python, PHP และ Ruby Perl มีการแจกจ่ายโดยไม่เสียค่าใช้จ่ายเป็น GPL (ใบอนุญาตสาธารณะทั่วไปของ GNU: ใบอนุญาตซอฟต์แวร์ = ใบอนุญาตซอฟต์แวร์ฟรี)

 

สัญกรณ์ของ Perl คล้ายกับ C แต่รวมเอาคุณสมบัติที่ยอดเยี่ยมของ C และภาษาโปรแกรมอื่น ๆ เช่น sed, awk และเชลล์สคริปต์ เนื่องจากเป็นล่ามประเภทที่ไม่ต้องการการประมวลผลการคอมไพล์ (การแปลงเป็นรูปแบบที่สามารถดำเนินการบนคอมพิวเตอร์) จึงสามารถดำเนินการได้ทันทีหลังจากเขียนโปรแกรม

มีความสามารถในการประมวลผลความเร็วสูงแม้ในภาษาสคริปต์และมีความเข้ากันได้แบบย้อนหลังสูง (เข้ากันได้กับเวอร์ชันเก่า)

 

คุณยังสามารถเพิ่มฟังก์ชันใหม่เป็นโมดูล ยกตัวอย่างเช่น 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

 

ในทางกลับกันนักพัฒนายังกล่าวว่านอกเหนือจากภาษาการสกัดเชิงปฏิบัติและภาษารายงานซึ่งหมายถึง "ภาษาการสร้างรายงานการได้มาซึ่งข้อมูลที่ใช้ได้จริง" แล้วยังมีความหมายที่ซ่อนอยู่ของ Pathologically Eclectic Rubbish Lister "อุปกรณ์ส่งออกขยะที่น่าเศร้าทางพยาธิวิทยา"

 

CGI Web Hosting ทำงานอย่างไรใน Perl

 

คำว่า CGI มาจาก Common Gateway Interface เป็นเพียงการกำหนดอีกแบบหนึ่งสำหรับสิ่งที่เรารู้จักกันในชื่อ API (Application Programming Interface) สรุปเรื่องราว CGI เป็นเพียง API สำหรับเว็บเซิร์ฟเวอร์

 

ในทางกลับกันเว็บเซิร์ฟเวอร์เป็นซอฟต์แวร์ที่ส่งหน้าเว็บไปยังเว็บเบราว์เซอร์ (เบราว์เซอร์เช่นInternet ExplorerหรือNetscape). ในทางเทคนิคควรเรียกเบราว์เซอร์ว่าเว็บลูกค้าและผู้ที่ใช้ควรเรียกว่าเบราว์เซอร์

 

มีข้อมูลมากมายเกี่ยวกับ CGI บนอินเทอร์เน็ตอย่างไรก็ตามส่วนใหญ่ไม่ตรงกันและเต็มไปด้วยตำนานและอคติ มาชี้แจงข้อสงสัยโดยรายงานสิ่งที่ไม่ใช่ CGI

 

CGI ไม่ใช่ภาษาโปรแกรมนั่นหมายความว่าคุณสามารถใช้ภาษาใดก็ได้ที่คุณเลือกเพื่อเขียนโปรแกรม CGI เป็นที่ชัดเจนว่าภาษาที่เลือกจะต้องสามารถอ่าน "อินพุต" และเขียน "เอาต์พุต" ได้ คุณรู้จักภาษาโปรแกรมใดที่ไม่มีความเป็นไปได้ดังกล่าวหรือไม่?

 

คุณไม่จำเป็นต้องใช้ภาษา Perl Perl สามารถใช้งานได้เช่นเดียวกับภาษาอื่น ๆ เช่น PHP, C, Phyton, Object Pascal เป็นต้นซึ่งไม่ได้มีไว้สำหรับผู้เชี่ยวชาญในระบบ Unix เท่านั้น ในความเป็นจริงไม่จำเป็นต้องเป็นผู้เชี่ยวชาญทักษะการเขียนโปรแกรมขั้นพื้นฐานก็เพียงพอแล้ว

 

ไม่ใช่รูปแบบการเขียนโปรแกรม ใช้สไตล์ของคุณเองเพราะมีเพียง "อินพุต" และ "เอาต์พุต" เท่านั้นที่เราสามารถทำให้เว็บเซิร์ฟเวอร์ "สนทนา" กับ CGI ได้

ดูเหมือนจะเป็นเรื่องตลก แต่เว็บเซิร์ฟเวอร์ก็รอ - เว้นแต่จะมีการเข้าถึงไซต์จำนวนมาก

 

สิ่งที่เว็บเซิร์ฟเวอร์กำลังรอไม่มีอะไรมากไปกว่าไคลเอนต์เบราว์เซอร์ที่ร้องขอไฟล์ ไฟล์นี้สามารถเป็นหน้า HTML กราฟิกหรือไฟล์ประเภทอื่น ๆ

 

เมื่อเว็บเซิร์ฟเวอร์ได้รับคำขอจะดำเนินการสามงานตามลำดับต่อไปนี้:


  • ส่งบรรทัดข้อความตื้นที่มีประเภทของไฟล์ที่จะส่งนั่นคือ HTML, GIF, JPEG หรืออื่น ๆ

  • ส่งบรรทัดว่าง

  • ส่งเนื้อหาของไฟล์

 

เว็บเซิร์ฟเวอร์ส่งไฟล์อย่างไร

 

ทีละครั้ง น่าอัศจรรย์เพียงหนึ่ง

 

เราทราบดีว่าหน้าเว็บทั่วไปประกอบด้วยเอกสาร 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 จะระบุจำนวนไบต์ของข้อมูลที่ควรอ่านผ่าน stdin และตัวแปร CONTENT_TYPE จะระบุว่าข้อมูลมาจากรูปแบบ (หรืออาจมาจากแหล่งอื่น)

 

เมื่อได้รับข้อมูลแล้ว (อ่านโดยเซิร์ฟเวอร์) สามารถประมวลผลได้ทันทีและสามารถส่งการตอบสนอง (เอาต์พุต) ผ่านทาง stdout คำตอบมักจะเขียนในรูปแบบของข้อมูล HTML โดยมีการจัดรูปแบบที่จำเป็นทั้งหมด แต่โปรแกรม CGI สามารถสร้างการตอบสนองประเภทใดก็ได้เช่นไฟล์ GIF หรือสิ่งอื่นใด

 

นี่คือเหตุผลที่คุณต้องระบุไปยังเบราว์เซอร์ใน 2 ขั้นตอนแรกของการส่งข้อมูลประเภทของข้อมูลที่จะส่ง เราสามารถระบุข้อมูล HTML ได้โดยการส่งสตริงประเภทเนื้อหา: text / Html (งาน 1) ตามด้วยสตริงว่าง (งาน 2) การใช้ภาษา C จะเป็น printf ("Content-type: text / Html \ n \ n"); โดยที่ \ n คือตัวแบ่งบรรทัดและบรรทัดที่สอง \ n ตัวแบ่งบรรทัดอื่นเพื่อระบุบรรทัดว่าง