ホームページ バックエンド開発 PHPチュートリアル RCA: Curl-library Post が 1024 バイトを超える場合の HTTP/1.1 特性に注意を払わないと、HessianPHP 送信_PHP チュートリアルが発生する

RCA: Curl-library Post が 1024 バイトを超える場合の HTTP/1.1 特性に注意を払わないと、HessianPHP 送信_PHP チュートリアルが発生する

Jul 20, 2016 am 11:16 AM
http post rca に導く まだ 知らせ 特性

最初に HessianPHP のエラー メッセージをリストします:


基本的な知識の背景: 1) 「Expect: 100-Continue」の詳細: HTTP/1.1 プロトコルで 100 (継続) HTTP ステータス コードを設計する目的は、クライアントが要求メッセージを送信する前に、HTTP/1.1 プロトコルでは、サーバーが送信されたメッセージ本文を受け入れるかどうかをクライアントが最初に判断できるようにすることです。クライアントによって (リクエスト ヘッダーに基づいて)。 つまり、クライアントとサーバーは、(より大きな) データを投稿する前に双方が「ハンドシェイク」することを許可し、それらが一致する場合、クライアントは (より大きな) データの送信を開始します。 その理由は、クライアントがリクエスト データを直接送信してもサーバーがリクエストを拒否した場合、この動作により大量のリソース オーバーヘッドが発生するためです。 ​ HTTP/1.1 クライアントのプロトコル要件は次のとおりです。
のヘッダー! ​
2) libcurl は、1024 バイトを超えるデータを送信するときに「Expect:100-Continue」機能を有効にします。

1. 「Expect: 100- continue」ヘッダー フィールドを含むリクエストを送信し、サーバーにデータを受信するかどうかを尋ねます。 2. サーバーから返された 100-Continue 応答を受信した後、データがサーバーに POST されます。

zxgfa は 2012 年に追加されました:

(Zheng Yun の注 1: lighttpd

1.4 バージョンにはこの深刻な問題がありますが、バージョン 1.5 では修正されています。 Zheng Yun 注 2: レジンは、バージョン 3.0.5 で Expect: 100-Continue のサポートを追加しました。 )

3) PHP Curl ライブラリはこの機能をアクティブにブロックできます: 誰かが PHP Manual::curl_setopt の下に次のようなメッセージを残しました。 PHPカールはlibcurlの特性に準拠しています。すべての Web サーバーがこの機能をサポートしているわけではないため、さまざまなエラーが発生する可能性があります。この問題が発生した場合は、次のコマンドを使用して「Expect」ヘッダー フィールドをブロックできます。 <span class="html"><span class="default"> <?php <code><span class="html"><span class="default">    <?php </span></span></span></span></span><span class="html"><span class="default">    curl_setopt</span><span class="keyword">(</span><span class="default">$ch</span><span class="keyword">,<span class="Apple-converted-space"> </span></span><span class="default">CURLOPT_HTTPHEADER</span><span class="keyword">, array(</span><span class="string">'Expect:'</span><span class="keyword">));<br></span><span class="default">    ?><br></span><span pooy><br></span></span> <span class="html"><span class="default">curl_setopt<img class="decoded" src="RCA:%20Curl-library%20Post%20%E3%81%8C%201024%20%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E8%B6%85%E3%81%88%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%20HTTP/1.1%20%E7%89%B9%E6%80%A7%E3%81%AB%E6%B3%A8%E6%84%8F%E3%82%92%E6%89%95%E3%82%8F%E3%81%AA%E3%81%84%E3%81%A8%E3%80%81HessianPHP%20%E9%80%81%E4%BF%A1_PHP%20%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B" alt="RCA: Curl-library Post が 1024 バイトを超える場合の HTTP/1.1 特性に注意を払わないと、HessianPHP 送信_PHP チュートリアルが発生する"><span class="keyword">(<hr> <span class="default">$ch<strong><span class="keyword"> ,</span></strong> <ul> <li><span class="default">CURLOPT_HTTPHEADER</span></li> <span class="keyword">, array(</span> </ul> <span class="string">'Expect:'<hr> <span class="keyword">)); <strong></strong><span class="default"> ?><br><blockquote hessian post><span><strong></strong></span></blockquote></span></span></span></span></span></span></span>
図 1 明示的なリクエスト ヘッダーを設定することで、PHP のカール バックエンドに 100 回継続動作を停止させることができます ​
RCA: Curl-library Post が 1024 バイトを超える場合の HTTP/1.1 特性に注意を払わないと、HessianPHP 送信_PHP チュートリアルが発生するその他の知識の背景: RCA: Curl-library Post が 1024 バイトを超える場合の HTTP/1.1 特性に注意を払わないと、HessianPHP 送信_PHP チュートリアルが発生する RCA: Curl-library Post が 1024 バイトを超える場合の HTTP/1.1 特性に注意を払わないと、HessianPHP 送信_PHP チュートリアルが発生する

HessianTransport コードによると、「CURL ライブラリを使用した Hessian リクエスト」です。

問題現象: ​ 解決策: CURLOPT 項目をヘシアンで変更します。 CURLOPT_HTTPHEADER => array("Content-Type: application/binary") への変更 CURLOPT_HTTPHEADER => array("Content-Type: application/binary","Expect:") 追記: HTTP/1.0 プロトコルに変更すると、この 100 継続の問題を回避できると考える人もいますが、これは原理を理解しようとしないエンジニアの弱点の表れにすぎません。 ​ 参考リソース: 1) 2011 年、ラルエンス、予想:100-継続; 2) PHP マニュアル。POST を実行していて、コンテンツの長さが 1,025 以上の場合。 3) HTTP 1.1 RFC、100 (継続) ステータスの使用。 4) stackoverflow、2009、cURL データ > 1024 の場合、PHP HTTP POST が失敗します。 5) zxgfa、2012、libcurl の使用法の問題「Expect100-Continue」。 6) lighttpd、2009、「Expect」ヘッダーにより HTTP エラー 417 が発生します。 無料の写真をいくつか: ドナーにそれを受け取るように依頼してください。 360 度バックフリップ キックオフ: 360 度死角なし:
http://www.bkjia.com/PHPjc/440146.html
🎜www.bkjia.com🎜🎜tru​​e🎜🎜http://www.bkjia.com/PHPjc/440146.html🎜🎜技術記事🎜🎜まず HessianPHP のエラー メッセージをリストしてみましょう: 基本的な知識の背景: 1) Expect の詳細: 100-Continue: HTTP/1.1 プロトコルで 100 (Continue) HTTP ステータス コードを設計する目的は...🎜 🎜🎜🎜 🎜🎜
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

MySQLにおける.ibdファイルの役割と注意事項について詳しく解説 MySQLにおける.ibdファイルの役割と注意事項について詳しく解説 Mar 15, 2024 am 08:00 AM

MySQL における .ibd ファイルの役割とそれに関連する注意事項の詳細な説明 MySQL は人気のあるリレーショナル データベース管理システムであり、データベース内のデータは別のファイルに保存されます。このうち、.ibd ファイルは InnoDB ストレージ エンジンのデータ ファイルであり、データとインデックスをテーブルに保存するために使用されます。この記事では、MySQL における .ibd ファイルの役割を詳細に分析し、読者の理解を深めるために関連するコード例を示します。 1. .ibd ファイルの役割: データの保存: .ibd ファイルは InnoDB ストレージです

C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? May 31, 2024 am 11:06 AM

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して​​出力します。 HTTP 応答本文を受信して​​出力します。

PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Mar 07, 2024 pm 01:45 PM

タイトル: PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Web 開発では、多くの場合、パラメーターを POST 経由で渡し、サーバー側で処理してページ ジャンプを実装する必要があります。 PHP は、一般的なサーバーサイド スクリプト言語として、この目的を達成するための豊富な関数と構文を提供します。以下では、この機能を PHP を使用して実装する方法を、具体的な例を用いて紹介します。まず、2 つのページを準備する必要があります。1 つは POST リクエストを受信し、パラメーターを処理するためのものです。

ページにジャンプしてPOSTデータを運ぶPHPを実装する方法 ページにジャンプしてPOSTデータを運ぶPHPを実装する方法 Mar 22, 2024 am 10:42 AM

PHP は Web サイト開発で広く使用されているプログラミング言語であり、ページ ジャンプと POST データの送信は Web サイト開発における一般的な要件です。この記事では、PHP のページジャンプを実装して POST データを運ぶ方法を、具体的なコード例を含めて紹介します。 PHP では、ページ ジャンプは通常、ヘッダー関数を通じて実装されます。ジャンプ プロセス中に POST データを送信する必要がある場合は、次の手順で実行できます。 まず、ユーザーが情報を入力して送信ボタンをクリックするフォームを含むページを作成します。フォーム内のアクティ

コードを使用して RCA ユニバーサル リモートを設定するにはどうすればよいですか? コードを使用して RCA ユニバーサル リモートを設定するにはどうすればよいですか? Feb 21, 2024 am 10:03 AM

RCA ユニバーサル リモコンを使用すると、リモコン管理を簡素化できます。さまざまなモデルで最大 8 台のデバイスを制御できるため、複数のリモコンが不要になり、煩雑さが軽減されます。リモコンのプログラミングには辛抱強く、提供される簡単な手順に従ってください。したがって、コードを使用して RCA ユニバーサル リモコンを設定したい場合は、この記事が最適です。コードを使用して RCA ユニバーサル リモコンを設定する方法 コードを使用して RCA ユニバーサル リモコンを設定するには、以下のいずれかの方法を使用します。自動プログラミング方法を使用した RCA ユニバーサル リモートのプログラミング ダイレクト コードを使用した RCA ユニバーサル リモートのプログラミング それでは、詳しく説明します。 1] 自動プログラミング方法を使用して RCA ユニバーサル リモコンをプログラムするには、まず簡単なプログラムを使用する必要があります。

Golang にはクラスのようなオブジェクト指向機能はありますか? Golang にはクラスのようなオブジェクト指向機能はありますか? Mar 19, 2024 pm 02:51 PM

Golang (Go 言語) には伝統的な意味でのクラスの概念はありませんが、構造体と呼ばれるデータ型が提供され、これによってクラスと同様のオブジェクト指向機能を実現できます。この記事では、構造体を使用してオブジェクト指向機能を実装する方法を説明し、具体的なコード例を示します。構造体の定義と使用法 まず、構造体の定義と使用法を見てみましょう。 Golang では、type キーワードを通じて構造を定義し、必要に応じて使用できます。構造には属性を含めることができます

HTTP 503エラーの解決方法 HTTP 503エラーの解決方法 Mar 12, 2024 pm 03:25 PM

解決策: 1. 再試行: 一定時間待ってから再試行するか、ページを更新できます; 2. サーバーの負荷を確認します: サーバーの CPU、メモリ、およびディスクの使用状況を確認します。容量制限を超えている場合は、次のことを試してください。サーバー構成を最適化するか、サーバーの容量を増やします サーバー リソース; 3. サーバーのメンテナンスとアップグレードを確認します: サーバーが通常に戻るまで待つしかありません; 4. ネットワーク接続を確認します: ネットワーク接続が安定していることを確認し、ネットワークが正常に動作しているかどうかを確認しますデバイス、ファイアウォール、またはプロキシ設定が正しいことを確認します; 5. キャッシュまたは CDN 構成が正しいことを確認します; 6. サーバー管理者などに連絡します。

See all articles