問題タブ [http-status-code-411]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 411 - PHP curl を使用して json データを投稿する際に必要な長さのエラー
PHP curl を使用して、json データを GCM (Google Cloud Messaging) サーバーに投稿しようとしています。以下は私のコードスニペットです
このスクリプトを実行すると、次のエラーが表示されます
いくつかのフォーラムを検索しましたが、これに対する解決策が得られませんでした。誰でも助けることができますか?
rest - REST アプローチ: データが変更されている場合、1 文字の本体を持つ PUT よりも GET の方が優れています。
双方が変更を「コミット」する時期であることを示す確認 URL を使用して、軽量バージョンのトランザクションを実現しようとしている 1 組の REST アプリケーションがあります。手順は次のとおりです。これらはすぐには実行されません。手順の間にエンド ユーザーの承認を得るために一時停止する場合があります。
- アプリケーション A が変更を承認してステージングし、アプリケーション B に変更の準備が整ったことを通知します。
- アプリケーション B は変更をステージングし、準備ができていることをアプリケーション A に通知し、コミット時にアプリケーション A が「ヒット」する確認 URL を提供します。
- アプリケーション A は受信確認 URL に「ヒット」し、受信すると、アプリケーション B は変更をコミットして 200 を返します。アプリケーション A が 200 を取得した場合、変更をコミットします。それ以外の場合は、全員がロールバックします。
問題は、承認 URL に関して行うべき正しい操作は何かということです。2 つの「合理的な」選択肢があり、それぞれに欠点があります。
GET リクエストを使用する - 欠陥は、データが変更されていることであり、GET で許可されるべきではありません。
PUT リクエストを使用する - これは、データが変更され、
一度だけ発生することが想定されているため、より理にかなっています。ただし、PUT 要求には
Content-Length ヘッダーが必要であり、送信するデータがないため、多くの HTTP
クライアント ライブラリは "Content-Length: 0" の設定を拒否します。そのため、「壊れた」PUT が生成され、コンテンツ アイテムのない PUT を送信すると、(当然のことながら) 多くの場合、411 が返されます。解決策は、1 文字の本文を送信することです。これにより、PUT が有効になりますが、少し気分が悪くなります。
これは、1 文字の本体を持つ GET または PUT を使用してプロトコルを設計する必要があるかどうかを尋ねる狭義の質問です。
明確にするために、すべての HTTP クライアントが Content-Length: 0 ヘッダーの送信を拒否するわけではありませんが、Java HttpURLConnection は、PUT で実際にデータを送信する場合にのみヘッダーを送信します。また、すべての HTTP サーバーが Content-Length ヘッダーのない PUT を取得したときに 411 をスローするわけではありませんが、Rails (およびその他) はルールを正しく適用します。このプロトコルは、すべての言語、HTTP サーバー、および HTTP クライアントで機能する必要があるため、「X ですべて書き直す」という答えは役に立ちません。
これは REST の哲学に関する質問であり、「どの言語が優れているか」という質問ではありません。
apache - チャンクされたボディを含む POST リクエスト - レスポンス HTTP/1.0 411
リクエスト本文を画面にエコーする .php ファイルを含む Apache2 サーバーがあります。
チャンクされた本文を含むファイルに POST 要求を送信しようとしていますが、応答は HTTP/1.0 411 です。
HTTP/1.1 で応答し、要求を理解するように Apache を構成するにはどうすればよいですか?
ありがとう
asp.net-web-api - WebAPI とステータス コード 411「必要な長さ」
411 Length Required 要求は、要求されたリソースに必要なコンテンツの長さを指定しませんでした。
次のコードがあります。
リクエストのサイズが 9999999 を超えると動作し、411 ステータス コードを返します。
しかし、リクエスト全体をサーバーにアップロードする前に検証したいと思います(私が理解しているように、サーバーが処理できない場合に大きなファイルのアップロードを防ぐためのこの411ステータスコードの意味)。リクエスト全体をサーバーに送信する前に、リクエストを拒否して 411 ステータス コードを送信するにはどうすればよいですか?