Rumah >rangka kerja php >Workerman >Pembangunan pekerja: Bagaimana untuk melaksanakan pelayan web berdasarkan protokol HTTP2
Pembangunan Pekerja: Bagaimana untuk melaksanakan pelayan web berdasarkan protokol HTTP2
HTTP2 ialah versi generasi baharu protokol HTTP, yang meningkatkan prestasi dan keselamatan Terdapat peningkatan yang hebat dalam semua aspek. Workerman ialah rangka kerja komunikasi masa nyata PHP yang biasa digunakan, yang mempunyai kelebihan prestasi tinggi, pengembangan mudah dan kemudahan penggunaan. Bagaimana untuk melaksanakan pelayan web berdasarkan protokol HTTP2? Artikel ini akan memperkenalkan dari aspek berikut:
1 Fahami ciri protokol HTTP2
HTTP2 protokol adalah baharu. penjanaan versi protokol HTTP, yang mempunyai peningkatan hebat dalam prestasi dan keselamatan. Berbanding dengan protokol HTTP1.x, ia mempunyai ciri-ciri berikut:
2. Bagaimana Workerman menyokong protokol HTTP2
Workerman ialah rangka kerja komunikasi masa nyata PHP yang pada asalnya direka untuk mencapai prestasi tinggi berasaskan pada komunikasi protokol TCP, tetapi ia juga menyokong protokol HTTP. Workerman menggunakan protokol HTTP1.x secara lalai, tetapi ia juga menyokong protokol HTTP2.
Syarat asas untuk melaksanakan protokol HTTP2 ialah mempunyai sijil SSL, kerana protokol HTTP2 hanya menyokong penggunaan dalam mod penyulitan. Oleh itu, kita perlu mengkonfigurasi sijil SSL dalam Workerman untuk menyokong protokol HTTP2. Kaedah konfigurasi khusus adalah seperti berikut:
$context = array( // 这是key, 一般和crt放在一起 'ssl' => array( // 请使用绝对路径 'local_cert' => '/your/path/to/server.crt', // 服务端证书 'local_pk' => '/your/path/to/server.key', // 服务端证书的私钥 'verify_peer' => false, // 是否需要验证客户端证书 ) ); // 初始化一个Worker监听http://0.0.0.0:443 $worker = new Worker("http://0.0.0.0:443", $context); // 开启对HTTP2.0的支持 $worker->transport = 'ssl'; $worker->protocol = "Http2";
3 Laksanakan pelayan Web protokol HTTP2 khusus
Selepas Workerman menyokong protokol HTTP2, kami boleh melaksanakan pelayan Web protokol HTTP2. Terdapat banyak kaedah pelaksanaan khusus Di sini kita mengambil pelaksanaan pelayan Web protokol HTTP2 sebagai contoh.
<?php require_once __DIR__ . '/../vendor/autoload.php'; $context = array( 'ssl' => array( 'local_cert' => '/your/path/to/server.crt', 'local_pk' => '/your/path/to/server.key', 'verify_peer' => false, ) ); $worker = new WorkermanWorker('http://0.0.0.0:443', $context); $worker->transport = 'ssl'; $worker->protocol = "Http2"; $worker->onConnect = function($connection) { echo "new connection from ip " . $connection->getRemoteIp() . " "; }; $worker->onMessage = function($connection, $data) { $request_uri = $_SERVER['REQUEST_URI']; $response = "Hello, HTTP2! "; $connection->send($response); }; Worker::runAll();
php http2_server.php start -dPada masa ini, jika anda menggunakan pelayar untuk mengakses https://localhost, anda seharusnya melihat kandungannya sebagai Helo, halaman HTTP2! 4. Contoh kod Kod telah diberikan di bahagian ketiga, dan kod lengkap diberikan sekali lagi di sini. Anda hanya perlu menggantikan /your/path/to/server.crt dan /your/path/to/server.key dengan laluan sijil SSL anda sendiri.
<?php require_once __DIR__ . '/../vendor/autoload.php'; $context = array( 'ssl' => array( 'local_cert' => '/your/path/to/server.crt', 'local_pk' => '/your/path/to/server.key', 'verify_peer' => false, ) ); $worker = new WorkermanWorker('http://0.0.0.0:443', $context); $worker->transport = 'ssl'; $worker->protocol = "Http2"; $worker->onConnect = function($connection) { echo "new connection from ip " . $connection->getRemoteIp() . " "; }; $worker->onMessage = function($connection, $data) { $request_uri = $_SERVER['REQUEST_URI']; $response = "Hello, HTTP2! "; $connection->send($response); }; Worker::runAll();RingkasanHTTP2 protokol ialah versi generasi baharu protokol HTTP Berbanding dengan protokol HTTP1.x, ia telah dipertingkatkan dari segi prestasi dan keselamatan. Workerman ialah rangka kerja komunikasi masa nyata PHP yang biasa digunakan yang menyokong protokol HTTP2. Artikel ini menerangkan cara menggunakan Workerman untuk melaksanakan pelayan web berdasarkan protokol HTTP2, termasuk mengkonfigurasi sijil SSL dan melaksanakan pelayan web tertentu.
Atas ialah kandungan terperinci Pembangunan pekerja: Bagaimana untuk melaksanakan pelayan web berdasarkan protokol HTTP2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!