กลับไปหน้าบทความ

อ่าน 2 นาที

แพล็ก (ซอฟต์แวร์)

Plack เป็นเฟรม เวิร์กการเขียนโปรแกรมเว็บแอปพลิเคชัน Perl ที่ได้รับแรงบันดาลใจจาก Rack สำหรับ Ruby และ WSGI สำหรับ Python [ 1 ] [ 2 ] และเป็นโครงการที่อยู่เบื้องหลัง ข้อกำหนด PSGI...

แพล็ก (ซอฟต์แวร์)

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

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 รองรับเซิร์ฟเวอร์แบ็กเอนด์ดังต่อไปนี้:

ตัวอย่าง

ใช้งานเซิร์ฟเวอร์ 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คู่มือ

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Plack_(software)&oldid=1350504700#PSGI "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ แพล็ก (ซอฟต์แวร์)

Plack เป็นเฟรม เวิร์กการเขียนโปรแกรมเว็บแอปพลิเคชัน Perl ที่ได้รับแรงบันดาลใจจาก Rack สำหรับ Ruby และ WSGI สำหรับ Python [ 1 ] [ 2 ] และเป็นโครงการที่อยู่เบื้องหลัง ข้อกำหนด PSGI...

พีเอสจีไอ

PSGI หรือ Perl Web Server Gateway Interface เป็น อินเทอร์เฟซ ระหว่าง เว็บเซิร์ฟเวอร์ และ เว็บแอปพลิเคชัน และ เฟรม เวิร์ก ที่เขียน ด้วยภาษาโปรแกรม Perl ซึ่งช่วยให้สามารถเขียนแอปพลิเคชันแบบพกพาที่สามารถทำงานเป็นเซิร์ฟเวอร์แบบสแตนด์อโลนหรือใช้ CGI , FastCGI ,...

แบ็กเอนด์ที่รองรับ

ณ เดือนพฤษภาคม พ.ศ. 2566 [ 7 ] Plack รองรับเซิร์ฟเวอร์แบ็กเอนด์ดังต่อไปนี้:

ตัวอย่าง

ใช้งานเซิร์ฟเวอร์ HTTP แบบสแตนด์อโลนตามค่าเริ่มต้น: