疑問
- HTTP/1.1のパイプラインって今は使われてないの?
Webブラウザで全く使われていないのは知っていたけどWebサーバも対応やめたの?
- Webブラウザで使うとゴミになるけどバッチ処理では優秀じゃなかったの?
詳細
以下の記事では,HTTP/1.1パイプラインをPHPから試しています.
ところが,自分でいろいろなサーバ相手に試してみましたが,どのサーバも
Server doesn't support multi-use (yet)
という結果となりました.自分のlibcurlのバージョンも疑ったのですが,「相手サーバが対応していない」という旨のログなので全く関係ないと思います.
実際にHTTP/1.1のパイプラインが稼働するサーバをご存知の方,教えてください.私の環境がおかしい場合,疑うべき場所を教えてください.
検証に使ったコード
php
1<?php 2 3require 'vendor/autoload.php'; 4 5// https://github.com/mpyw/co 6use mpyw\Co\Co; 7 8$urls = [ 9 'https://teratail.com/', 10 'https://github.com/', 11 'http://www.yahoo.co.jp/', 12 'https://google.co.jp/', 13 'https://twitter.com/', 14 'https://api.twitter.com/', 15]; 16 17foreach ($urls as $url) { 18 echo "\n\n---------------------\n\nTrying $url...\n\n"; 19 Co::wait(curls($url, 5), ['pipeline' => true, 'concurrency' => 0]); // 並列化数0で無制限 20} 21 22function curls($url, $n) 23{ 24 $handles = []; 25 for ($i = 0; $i < $n; ++$i) { 26 $ch = curl_init(); 27 curl_setopt_array($ch, [ 28 CURLOPT_URL => $url, 29 CURLOPT_RETURNTRANSFER => true, 30 CURLOPT_VERBOSE => true, 31 ]); 32 $handles[] = $ch; 33 } 34 return $handles; 35}

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。