タグ付けされた質問 「http」

ハイパーテキスト転送プロトコル(HTTP)は、World Wide Web上のコンテンツの転送に使用されるアプリケーションレベルのネットワークプロトコルです。


2
CURLコマンドラインURLパラメータ
DELETECURLを使用して、urlパラメータを含むリクエストを送信しようとしています。私がやっている: curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3' ただし、サーバーにはパラメーターid = 3が表示されません。いくつかのGUIアプリケーションを使用してみましたが、URLを次のように渡した場合http://localhost:5000/locations?id=3、機能します。このGUIアプリケーションではなく、CURLを実際に使用したいと思います。誰かが私が間違っていることを指摘できますか?
186 http  curl 

10
nodejsとexpressで作成されたREST APIで応答ステータスとJSONコンテンツを設定する適切な方法
Nodejsをいじって、小さなREST APIを作成して表現しています。私の質問は、コードのステータスと応答データを設定するための良い方法/最良の方法は何ですか? 少しのコードで説明しましょう(サーバーを起動するために必要なノードとエクスプレスコードは記述しません。関係するルーターメソッドのみです): router.get('/users/:id', function(req, res, next) { var user = users.getUserById(req.params.id); res.json(user); }); exports.getUserById = function(id) { for (var i = 0; i < users.length; i++) { if (users[i].id == id) return users[i]; } }; 以下のコードは完全に機能し、Postmanでリクエストを送信すると、次の結果が得られます。 ご覧のように、ステータスは200で、これは問題ありません。しかし、これはこれを行うための最良の方法ですか?返されたJSONだけでなく、自分でステータスを設定する必要がある場合はありますか?それとも、常にExpressによって処理されますか? たとえば、簡単なテストを行い、上記のgetメソッドをわずかに変更しました。 router.get('/users/:id', function(req, res, next) { var user = users.getUserById(req.params.id); if (user …
186 node.js  rest  http  express 

9
HTTPの「406-Not Acceptable Response」とは何ですか?
Ruby on Railsアプリケーションで、POSTMAN RESTクライアントを介してBase64形式で画像をアップロードしようとしました。画像をPOSTすると、406 Not Acceptable Responseが返されます。データベースを確認したところ、画像があり、正常に保存されました。 このエラーの理由は何ですか、ヘッダーに指定する必要があるものはありますか? 私の要求: URL --- http://localhost:3000/exercises.json ヘッダ: Content-Type - application/json 生データ: { "exercise": { "subbodypart_ids": [ "1", "2" ], "name": "Exercise14" }, "image_file_name": "Pressurebar Above.jpg", "image":"******base64 Format*******" }

14
System.Net.HttpClientのクエリ文字列を作成する
System.Net.HttpClientを使用してhttp getリクエストを送信したい場合、パラメーターを追加するAPIがないようですが、これは正しいですか? クエリ文字列を作成するために利用できる簡単なAPIはありますか?名前値コレクションの作成とそれらをURLエンコードしてからそれらを最終的に連結することは含まれていませんか?RestSharpのapi(AddParameter(..)など)を使用したいと思っていました。
184 c#  .net  http 

8
.NET:POSTをデータと共に送信して応答を読み取る最も簡単な方法
驚いたことに、.NET BCLでは、これほど単純なことは何も言えません。 byte[] response = Http.Post ( url: "http://dork.com/service", contentType: "application/x-www-form-urlencoded", contentLength: 32, content: "home=Cosby&favorite+flavor=flies" ); 上記の架空のコードは、データを使用してHTTP POSTを実行Postし、静的クラスのメソッドからの応答を返しますHttp。 これほど簡単なものがないので、次善の策は何ですか? データを含むHTTP POSTを送信し、応答のコンテンツを取得するにはどうすればよいですか?

4
no-cacheとmust-revalidateの違い
RFC 2616から http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1 キャッシュなし no-cacheディレクティブでフィールド名が指定されていない場合、キャッシュは、オリジンサーバーでの再検証に成功せずに、後続の要求を満たすために応答を使用してはなりません(MUST NOT)。これにより、オリジンサーバーは、クライアントの要求に対して古い応答を返すように構成されたキャッシュによっても、キャッシュを防止できます。 したがって、すべての応答を再検証するようにエージェントに指示します。 これと比較して 再検証する必要があります キャッシュによって受信された応答にmust-revalidateディレクティブが存在する場合、そのキャッシュは、古くなってからエントリを使用してはならず、最初にオリジンサーバーで再検証せずに後続のリクエストに応答してはなりません(MUST NOT)。 そのため、古い応答を再検証するようにエージェントに指示します。 特にに関してno-cache、これは実際にどのようにユーザーエージェントがこのディレクティブを経験的に扱っているのですか? ポイント何no-cacheがあるかどうmust-revalidateとはmax-age? このコメントを参照してください: http://palpapers.plynt.com/issues/2008Jul/cache-control-attributes/ キャッシュなし このディレクティブはブラウザにページをキャッシュしないように指示しているように聞こえますが、微妙な違いがあります。RFCによると、「no-cache」ディレクティブは、キャッシュからページを提供する前にサーバーで再検証する必要があることをブラウザーに通知します。再検証は、アプリケーションが帯域幅を節約できるようにする優れた手法です。ブラウザがキャッシュしたページが変更されていない場合、サーバーはそれをブラウザに通知するだけで、ページはキャッシュから表示されます。したがって、ブラウザは(理論的には)キャッシュにページを保存しますが、サーバーで再検証した後でのみページを表示します。実際には、IEとFirefoxはno-cacheディレクティブを、ページをキャッシュしないようにブラウザーに指示するかのように扱い始めました。私たちはこの行動を約1年前から観察し始めました。 誰かがこれについてもっと公式なものを持っていますか? 更新 再検証が必要なディレクティブは、表現に対する要求の検証に失敗すると、黙って実行されない金融トランザクションなどの不正な操作が発生する可能性がある場合にのみ、サーバーで使用する必要があります。 それは今まで心に留めたことのないことです。RFCはmust-revalidateを軽く使用しないように言っています。問題は、Webサービスでは否定的な見方をして、未知のクライアントアプリにとって最悪の状態を想定する必要があることです。古いリソースは問題を引き起こす可能性があります。 そして、Last-ModifiedやETagsがないと、私が今検討した他の何かは、ブラウザがリソース全体を再びフェッチすることしかできません。ただし、ETagを使用すると、少なくともすべてのリクエストでChromeが再検証されるようです。これにより、リクエストに他のヘッダーが含まれていて、常に「常に再検証」が行われない限り、これらのディレクティブは正しく再検証できないため、これらのディレクティブはどちらも無効であるか、少なくとも名前が不適切です。 最後のポイントをもっと明確にしたいだけです。must-revalidateETagもLast-Modifiedも設定せずに含めるだけで、エージェントは、比較するためにサーバーに送信するものがないため、コンテンツを再度取得することしかできません。 ただし、私の経験的テストでは、ETagまたは変更されたヘッダーデータが応答に含まれている場合、must-revalidateヘッダーの存在に関係なく、エージェントは常に再検証を行うことが示されています。 したがって、ポイントはmust-revalidate、古くなったときに「バイパスキャッシュ」を強制することです。これは、ライフタイム/エージを設定した場合にのみ発生するため、must-revalidateエージまたは他のヘッダーのない応答に設定されている場合、実質的には次のようにno-cacheなります。応答はすぐに古くなったと見なされます。 -では、最後にギリの答えにマークを付けます!

3
URLマトリックスパラメーターとクエリパラメーター
私のURLでマトリックスまたはクエリパラメーターを使用するかどうか疑問に思っています。そのトピックについての古い議論は満足のいくものではなかった。 例 クエリパラメータを含む URL:http://some.where/thing?paramA = 1&paramB = 6542 マトリックスパラメータを含む URL:http://some.where/thing; paramA = 1; paramB = 6542 一見すると、マトリックスparamsには利点しかないようです。 より読みやすい XMLドキュメントでの「&」のエンコードとデコードは不要 「?」を含むURL 多くの場合、キャッシュされません。行列パラメーターを持つURLがキャッシュされます 行列パラメータはパスのどこにでも出現でき、その終わりに限定されません 行列パラメーターは複数の値を持つことができます: paramA=val1,val2 ただし、欠点もあります。 JAX-RSのような少数のフレームワークのみがマトリックスパラメーターをサポートします ブラウザがGETを介してフォームを送信すると、パラメータはクエリパラメータになります。そのため、同じタスクに対して2種類のパラメーターになります。RESTサービスのユーザーを混乱させず、サービスの開発者の労力を制限しないために、この領域では、常にクエリパラメーターを使用する方が簡単です。 サービスの開発者はマトリックスパラメータをサポートするフレームワークを選択できるため、唯一の欠点は、ブラウザがデフォルトでクエリパラメータを作成することです。 他に欠点はありますか?あなたならどうしますか?
176 http  url  rest  parameters  jax-rs 



2
「304 Not Modified」はどのように正確に機能しますか?
「304 Not Modified」応答はどのように生成されますか? ブラウザはHTTPリクエストへの応答が304かどうかをどのように判断しますか? ブラウザで設定されているか、サーバーから送信されていますか? サーバーから送信された場合、サーバーはどのようにしてキャッシュ内の使用可能なデータを認識し、どのように304を画像に設定しますか? それがブラウザによって生成された場合、私の推測: function is_modified() { return get_data_from_cache() === get_data_from_url(); } function get_data_from_cache() { return some_hash_or_xxx_function(cache_data); } function get_data_from_url() { return some_hash_or_xxx_function(new_data); } function some_hash_or_xxx_function(data) { // Do something with the data. // What is that algorithm? return result; } console.log(is_modified()); データの取得、解析、データベースへのプッシュをサードパーティのAPIプロバイダーに依存しています。データはリクエストごとに変更される場合と変更されない場合がありますが、ヘッダーは常にを送信します200。私はむしろ私のDBに最後のユニークIDをチェックして、その上で...データの変化を決定するために、また結果を直接比較、解析したくないmd5()、sha1()とcrc32()の結果をハッシュ化し、罰金を動作しますが、私は疑問を抱いています決定するアルゴリズム304。 同じ種類のアルゴリズムを使用して、データの変化を判別したいと思います。


3
Angular2 http.get()、map()、subscribe()および観察可能なパターン-基本的な理解
これで、3つのリンクがある最初のページができました。最後の「友達」リンクをクリックすると、適切な友達コンポーネントが開始されます。そこで、friends.jsonファイルに保存されている友達のリストを取得/取得したいと思います。今までのところ、すべてが正常に動作します。しかし、私はまだRxJのオブザーバブル、マップ、サブスクライブの概念を使用するangular2のHTTPサービスの初心者です。私はそれを理解しようとしていくつかの記事を読みましたが、実際の作業に入るまで、それらの概念を適切に理解するつもりはありません。 ここで私はすでにHTTP関連の仕事を除いて働いているplnkrを作りました。 Plnkr myfriends.ts import {Component,View,CORE_DIRECTIVES} from 'angular2/core'; import {Http, Response,HTTP_PROVIDERS} from 'angular2/http'; import 'rxjs/Rx'; @Component({ template: ` <h1>My Friends</h1> <ul> <li *ngFor="#frnd of result"> {{frnd.name}} is {{frnd.age}} years old. </li> </ul> `, directive:[CORE_DIRECTIVES] }) export class FriendsList{ result:Array<Object>; constructor(http: Http) { console.log("Friends are being called"); // below code is …
170 http  angular  rxjs 


6
間違った入力に対する正しいHTTPステータスコード
200(すべてOK)ではなく、入力のエラーを報告する場合の最適なHTTP応答コードは何ですか? 同様に、サーバーにデータを送信すると、データが間違っていると応答します 使用して500より多くのサーバーの問題のようなルックスを 使用して200警告/エラー応答テキストが悪いと(可能キャッシングとすべてがOKではありません) 使用していない204、何もして返す多分良いです(しかし、うまくサポートされていますか?) 使用して、404要求されたパス(スクリプト)が利用可能であれば間違っていると、適切な場所に
169 api  http  validation 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.