อ่าน 2 นาที
แพล็ก (ซอฟต์แวร์)
Plack เป็นเฟรม เวิร์กการเขียนโปรแกรมเว็บแอปพลิเคชัน Perl ที่ได้รับแรงบันดาลใจจาก Rack สำหรับ Ruby และ WSGI สำหรับ Python [ 1 ] [ 2 ] และเป็นโครงการที่อยู่เบื้องหลัง ข้อกำหนด PSGI...
แพล็ก (ซอฟต์แวร์)
| แพล็ก | |
|---|---|
| ผู้เขียนต้นฉบับ | ทัตสึฮิโกะ มิยากาว่า |
| นักพัฒนา | ทัตสึฮิโกะ มิยากาวะ, โทคุฮิโระ มัตสึโนะ, เจสซี่ ลูเออร์, โทมัส โดรัน, เกรแฮม คน็อป และคนอื่นๆ |
| เขียนเป็น | เพิร์ล |
| ใบอนุญาต | ใบอนุญาต Perl (Artistic License v2 + GNU General Public License v1) |
| เว็บไซต์ | plackperl |

Plackเป็นเฟรมเวิร์กการเขียนโปรแกรมเว็บแอปพลิเคชันPerl ที่ได้รับแรงบันดาลใจจากRackสำหรับRubyและWSGIสำหรับPython [ 1 ] [ 2 ]และเป็นโครงการที่อยู่เบื้องหลัง ข้อกำหนด PSGI ที่ใช้โดยเฟรมเวิ ร์กอื่นๆ เช่นCatalystและDancer [ 3 ] Plack ช่วยให้สามารถทดสอบเว็บแอปพลิเคชัน Perl ได้โดยไม่ต้องใช้เว็บเซิร์ฟเวอร์จริง[ 4 ]
Plackupเป็นยูทิลิตี้บรรทัดคำสั่งสำหรับเรียกใช้แอปพลิเคชัน PSGI จากบรรทัดคำสั่ง[ 5 ]
พีเอสจีไอ
PSGIหรือPerl Web Server Gateway Interfaceเป็นอินเทอร์เฟซระหว่างเว็บเซิร์ฟเวอร์และเว็บแอปพลิเคชันและ เฟรม เวิร์กที่เขียน ด้วยภาษาโปรแกรม Perlซึ่งช่วยให้สามารถเขียนแอปพลิเคชันแบบพกพาที่สามารถทำงานเป็นเซิร์ฟเวอร์แบบสแตนด์อโลนหรือใช้CGI , FastCGI , mod_perlและอื่นๆ ได้[ 6 ]โดยได้รับแรงบันดาลใจจากWeb Server Gateway InterfaceสำหรับPython , RackสำหรับRubyและJSGIสำหรับJavaScriptแอปพลิเคชัน PSGI เป็นซับรูทีน Perl ที่รับอาร์กิวเมนต์เป็นการ อ้างอิง แฮช เดียว และส่งคืนการอ้างอิงไปยังอาร์เรย์ขององค์ประกอบสามรายการ ได้แก่รหัสสถานะ HTTPการอ้างอิงไปยังอาร์เรย์ของส่วนหัว HTTPและการอ้างอิงไปยังอาร์เรย์ของบรรทัดเนื้อหา HTTP (โดยปกติจะเป็น เอกสาร HTML ที่สร้างขึ้น ) หรือวัตถุที่คล้ายกับตัวจัดการไฟล์
แบ็กเอนด์ที่รองรับ
ณ เดือนพฤษภาคม พ.ศ. 2566 [ 7 ] Plack รองรับเซิร์ฟเวอร์แบ็กเอนด์ดังต่อไปนี้:
- ซีจีไอ
- เอสซีจีไอ
- ฟาสต์ซีจีไอ
- mod_perlภายใต้Apacheเวอร์ชัน 1.3 และ 2.0
- เซิร์ฟเวอร์ HTTP แบบสแตนด์อโลนรวมอยู่ใน Plack
- HTTP::เซิร์ฟเวอร์::ซิมเปิล
- โคโรนา
- สตาร์แมน
- ทวิกกี้
- เหตุการณ์ใดๆ::HTTPD
- AnyEvent::ReverseHTTP
ตัวอย่าง
ใช้งานเซิร์ฟเวอร์ HTTP แบบสแตนด์อโลนตามค่าเริ่มต้น:
$ plackup app.psgi HTTP::Server::PSGI: กำลังรับการเชื่อมต่อที่ http://0:5000/ทำงานในรูปแบบ เดมอน FastCGI ที่รับฟังการเชื่อมต่อผ่านซ็อกเก็ต Unixพร้อมใช้งานโดยเว็บเซิร์ฟเวอร์ ใดๆ ที่รองรับ FastCGI :
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi FastCGI: manager (pid 3336): initialized FastCGI: manager (pid 3336): server (pid 3337) started FastCGI: server (pid 3337): initializedตัวอย่างแอปพลิเคชัน "Hello world"ที่ใช้งานได้จริงโดยรันด้วยคำสั่งบรรทัดเดียว :
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["Hello, world!"]] }' HTTP::Server::PSGI: Accepting connections at http://0:5000/คำสั่งข้างต้นจะเริ่มต้นเซิร์ฟเวอร์ HTTPที่รับฟังบนพอร์ต 5000 ของอินเทอร์เฟซภายในเครื่องทุกตัว ( ที่อยู่ IP ) และส่ง การตอบกลับ 200 OKไปยังทุกคำขอ HTTP :
HTTP / 1.0 200 OK วันที่: ศุกร์, 19 มีนาคม 2010 23:34:10 GMT เซิร์ฟเวอร์: HTTP::Server::PSGI ประเภทเนื้อหา: text/plain ความยาวเนื้อหา: 13 สวัสดีชาวโลก! ลิงก์ภายนอก
- เว็บไซต์ PSGI และ Plack
- เอกสาร Plack
plackupคู่มือ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ แพล็ก (ซอฟต์แวร์)
Plack เป็นเฟรม เวิร์กการเขียนโปรแกรมเว็บแอปพลิเคชัน Perl ที่ได้รับแรงบันดาลใจจาก Rack สำหรับ Ruby และ WSGI สำหรับ Python [ 1 ] [ 2 ] และเป็นโครงการที่อยู่เบื้องหลัง ข้อกำหนด PSGI...
พีเอสจีไอ
PSGI หรือ Perl Web Server Gateway Interface เป็น อินเทอร์เฟซ ระหว่าง เว็บเซิร์ฟเวอร์ และ เว็บแอปพลิเคชัน และ เฟรม เวิร์ก ที่เขียน ด้วยภาษาโปรแกรม Perl ซึ่งช่วยให้สามารถเขียนแอปพลิเคชันแบบพกพาที่สามารถทำงานเป็นเซิร์ฟเวอร์แบบสแตนด์อโลนหรือใช้ CGI , FastCGI ,...
แบ็กเอนด์ที่รองรับ
ณ เดือนพฤษภาคม พ.ศ. 2566 [ 7 ] Plack รองรับเซิร์ฟเวอร์แบ็กเอนด์ดังต่อไปนี้:
ตัวอย่าง
ใช้งานเซิร์ฟเวอร์ HTTP แบบสแตนด์อโลนตามค่าเริ่มต้น: