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

ハイパーテキスト転送プロトコル-Web要求と応答を表すためのテキストシステム。

4
複数のHTTPリクエストをマージして帯域幅を節約することをお勧めしますか?
低速のモバイル接続で時々使用される単一ページのアプリケーションを準備しています。その一部は、APIリクエストの点でかなり重い(新しい画面表示のために10個の異なるリソースをフェッチする)。 さて、これらのサービスを、必要なすべてのデータを提供するサービスにマージするのは良い考えですが、RESTの原則に関しては「純粋」ではありませんか?予想される大幅なパフォーマンスの向上はありますか?
16 api  rest  http 

2
HTTPサーバーの作成方法
タイトルにあるように、HTTPサーバーを作成したいと思います。私の質問はこれですが、どうすればいいですか?これは非常に一般的で「高レベル」に聞こえますが、私の狂気には方法があります。この質問に対する答えは、言語にとらわれないようにすべきです。つまり、使用する言語(C、C ++、Javaなど)に関係なく、答えは同じでなければなりません。これがどのように機能するかについての一般的な考えがあります: ポート80でソケットを開きます。 クライアントがリクエストを行うのを待ちます。 リクエストを読みます(つまり、この人は「contact-us.html」ページを望んでいます)。 「contact-us.html」を見つけて読んでください。 htmlヘッダーを送信してから、「contact-us.html」のコンテンツを送信します 完了 私が言ったように、私はこれがプロセスであると信じます、しかし、私は100%確信がありません。これは私の質問の中心に私を導きます。人はこの情報をどのように、またはどこで見つけますか? HTTPサーバーだけを作成したくない場合、FTPサーバー、チャットサーバー、画像ビューアーなどを作成したい場合はどうなりますか?作業中のHTTPサーバーを作成するために必要な正確な手順/プロセスをどのようにして見つけるのですか? 同僚がhtmlヘッダーについて教えてくれたので、彼がいなければこれを知ることはなかったでしょう。彼はまた、各リクエストを新しいスレッドに渡すことについても述べました。物事の仕組みに関する大きな本はありますか?HTTPサーバーになるために必要なマニュアルはありますか? 「HTTPサーバーはどのように機能するか」をグーグルで試しましたが、見つけられる唯一の答えは、HTTPサーバーをプログラミングしたい人ではなく、平均的なJoeを対象としたものでした。

1
RESTful APIとi18n:応答を設計する方法は?
主に単一のクライアントのニーズを満たすことを目的としたRESTful APIを設計しています。非常に特殊な状況のため、このクライアントはできるだけ少ないリクエストを作成する必要があります。 APIは、リクエストのAccept-Languageヘッダーを介してi18nを処理します。これは、利用可能なすべてのロケールで単一のエンドポイントへの要求の応答をクライアントが保存する必要がある1つの機能を除き、クライアントが行う必要があるすべてのことに対して機能します。 クライアントが単一のリクエストでこれらすべての情報を取得できるように、一貫性のある適切に構造化されたRESTful API設計を壊さずに、何らかの方法でAPIを設計できますか? これまで検討してきたオプション: Accept-Languageヘッダーに複数のロケールを含めることを許可し、応答で要求されたすべてのロケールのローカライズバージョンを追加します。各ロケールはキーとしてISO 639-1言語コードで識別されます。 そのエンドポイントに「?all_languages = true」パラメーターのようなものを作成し、そのパラメーターが存在する場合、応答で使用可能なすべてのロケールのローカライズバージョンを返します。 (上記のいずれも機能しない場合)ローカライズされたすべてのバージョンをクライアントから取得するために複数のリクエストを作成します。 どれが最良の選択肢ですか?
15 rest  api  api-design  http 

12
ステートレスインターネットの理解[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 私はデスクトップ開発者からWeb開発者に移行していますが、HTTPがステートレスである理由を理解するのに苦労しています。その理由は何ですか?私のようなデスクトップ開発者がステートレス開発環境に移行する方法は何ですか?
15 internet  tcp  http 

3
リソースが見つからない場合、204または404応答を返す必要がありますか?
トーナメントとスケジュールのためのシンプルなRESTfulサービスを開発しています。JSONボディを含むPOSTリクエストを通じてトーナメントが作成されると、トーナメントはに挿入さBiMapれ、DAO実装で次のように宣言されます。 private BiMap<String, Tournament> tournaments = Maps.synchronizedBiMap(HashBiMap.create()); トーナメントが作成されると、それに関連付けられた文字列IDが返されるので、ユーザーはそのトーナメントを将来参照することができます。彼/彼女は次のリクエストを実行して新しいトーナメントから情報を得ることができます: GET http://localhost:8080/eventscheduler/c15268ce-474a-49bd-a623-b0b865386f39 しかし、そのようなIDのトーナメントが見つからない場合はどうなりますか?これまでのところ、204応答を返しています。まあ、ジャージーはnull、そのメソッドの1つから戻るときに私のためにそれをやっています。これは、上記のルートに対応するメソッドです。 @Path("/{id}") @GET @Produces(MediaType.APPLICATION_JSON) public Tournament getTournament(@PathParam("id") String id) { Optional<Tournament> optTournament = tournamentDao.getTournament(id); if (optTournament.isPresent()) return optTournament.get(); return null; } 私の質問は次のとおりです。リソースが見つからなかったので、204: No Content応答を返すことは問題あり404ませんか、それとも代わりに応答でなければなりませんか? それを404に変更する必要がある場合、明らかな質問:メソッドのシグネチャを変更する必要がありますか?これで(タイプTournament)のトーナメントが返されない可能性があるため、メソッドは異なるように見えるはずです。Response代わりに、型を戻り値の型として使用する必要がありますか?
15 java  rest  web-services  http 

1
一部のウェブサイトがChromeの開発者ツールで0バイトを表示するのはなぜですか
私は自分のウェブサイトのページ速度の最適化を行っており、他のウェブサイトがそれをどのように行うかを研究しています。FacebookやRinggitplusなどの一部のWebサイトでは、Chromeの開発者ツールの[ネットワーク]タブでリソースの一部に0バイトが表示されていますが、実際のコンテンツサイズは数キロバイトです。 サイズはフェッチされる量であり、コンテンツは応答の実際のサイズであるという記事をいくつか読みました。したがって、サイズが0バイトの場合、キャッシュから提供されることを意味します。しかし、シークレットモードを使用してページを開いたり、すべてのキャッシュをクリアしたりしても、同じことが起こりました。 どのようにしてこれを可能にし、どのように私のウェブサイトで同じことを達成できますか?
14 http  caching  chrome 

4
Apache HTTPサーバーはなぜそんなに複雑なのですか?
ApacheのHTTPサーバは言う、より大きなかなり大規模なプロジェクトに多くの、であるlighthttpか、nginxまたは確かにあなたがC / C ++のチュートリアルで漂っ見る「シンプルなHTTPサーバ」。 追加のコードは何ですか?それはセキュリティ/安定性を追加しますか(もしそうなら、どのように?)、またはApache confファイルを解析する/ .htaccess物事をタイプするようなことをするためだけですか(そして、私は推測するVirtualHostsなど)。 Apacheを批判しないようにお願いしますが、ある種のWebサーバーを書くことに興味があり、明らかではないかもしれませんが、安全で安定した高速なWebサーバーのために覚えておくことが重要なことを知りたいのです。
14 c  apache  http 

4
HTML / Javascriptミニファイが有益な理由
HTTPプロトコルが既にgzipデータ圧縮をサポートしているのに、なぜHTML / Javascriptミニファイが有益なのですか? Javascript / HTMLミニフィケーションは、不要な空白を削除し、おそらく変数をそれぞれ数文字に名前変更することにより、Javascript / HTMLファイルのサイズを大幅に削減できる可能性があることを理解していますが、LZWアルゴリズムは、繰り返しが多い場合は特にうまくいきません文字(例:たくさんの空白?) 一部のJavascript縮小ツールは、サイズを縮小するだけではありません。たとえば、Googleのクロージャーコンパイラは、関数をインライン化したり、他の分析を行ったりして、コードのパフォーマンスを改善しようとします。ただし、Javascriptミニファイの主な目的は通常、ファイルサイズを小さくすることです。 また、コードの難読化など、パフォーマンス以外に縮小したい他の理由があることも理解しています。ただし、パフォーマンスの向上とファイルサイズの削減ほど、その理由は通常強調されません。たとえば、Closure Compilerは難読化ツールとしてではなく、コードサイズリデューサーおよびダウンロード速度エンハンサーとして宣伝されています。 それでは、gzip圧縮でファイルサイズをすでに大幅に削減している場合、Javascript / HTMLミニフィケーションから実際にどれだけのパフォーマンスが得られますか?
13 javascript  html  http  minify 

2
TCP / IPアプリケーションとHTTPアプリケーションの比較[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 Javaで書かれた大規模なユーザー向けWebサイトの開発に興味があります。 設計に関しては、メインのWebアプリケーションに対するデータプロバイダーとして機能できる、独立したモジュラーサービスの開発を考えています。 これらのモジュラーサービス(データプロバイダー)の作成については、Springなどの既存のフレームワークを活用し、RESTfulデザインパターンに従ってこれらのサービスを開発し、JSONなどのメッセージ形式でHTTPを介してリソースを公開するか、既存のネットワークを活用できますNetty(http://netty.io/)のようなフレームワークとProtobufs(https://developers.google.com/protocol-buffers/docs/overview)のようなシリアル化形式、およびシリアル化されたprotobuf を送受信するTCPサーバーを開発するペイロード。 どちらを選択するかはいつですか?Protobufsのようなシリアル化形式を使用して、ワイヤを介してバイトストリームを送信する利点はありますか?JSONを使用するだけでオーバーヘッドが発生しますか?TCP / IPを使用してからHTTPを使用するまでのオーバーヘッドはどれくらいですか?そのようなサービスを構築するためにSpring over Nettyをいつ使用する必要がありますか?
13 java  rest  http  serialization  tcp 

2
RESTful APIでコマンドパターンを実装する
私はHTTP APIの設計を進めており、できればできるだけRESTfulにするようにしています。 機能がいくつかのリソースに広がるアクションがいくつかあり、いつか元に戻す必要があります。 これはコマンドパターンのように思えますが、どのようにリソースにモデル化できますか? DepositActionのようなXXActionという名前の新しいリソースを紹介します。 POST /card/{card-id}/account/{account-id}/Deposit AmountToDeposit=100, different parameters... これにより、実際に新しいDepositActionが作成され、そのDo / Executeメソッドがアクティブになります。この場合、201 Created HTTPステータスを返すことは、アクションが正常に実行されたことを意味します。 後でクライアントができるアクションの詳細を確認したい場合 GET /action/{action-id} Update / PUTはここでは関係ないため、ブロックする必要があります。 そして、アクションを元に戻すために、私は DELETE /action/{action-id} 実際に関連オブジェクトのUndoメソッドを呼び出し、そのステータスを変更します。 やり直しが1回だけで満足だとしましょう。やり直す必要はありません。 このアプローチは大丈夫ですか? 落とし穴、それを使用しない理由はありますか? これはクライアントのPOVから理解されていますか?

5
RESTfulデザインをWebサイト全体に適用していますか?
これらはすべて非常に新しいものに出くわすかもしれませんが、完全にRESTfulなWebサイトの設計に頭を包もうとしています。私は、ユーザー、写真、ブログ投稿などのようなものにRESTfulデザインを適用することを理解しています。なぜなら、それらは「オブジェクト」のようなものだと思うからです。 しかし、「私たちについて」ページについてはどうでしょう。それはどのようなリソースですか?それは言葉のRESTfulな意味でのリソースでもありますか?また、「http://www.example.com/」というURLにアクセスするとします。どのリソースを要求していますか?インデックスリソース?

4
楽観的ロックが機能しない場合はどうすればよいですか?
私は次のシナリオを持っています: ユーザーがETagに対してGETリクエストを/projects/1行い、ETagを受け取ります。 ユーザーは、ステップ1のETag を使用してPUTリクエストを/projects/1行います。 ユーザーは/projects/1、ステップ1のETag を使用して別のPUTリクエストを行います。 ETagが古くなっているため、通常、2番目のPUTリクエストは412応答を受け取ります。最初のPUTリクエストがリソースを変更したため、ETagは一致しなくなりました。 しかし、2つのPUT要求が同時に(またはちょうど1つずつ)送信された場合はどうなりますか?最初のPUT要求には、PUT#2が到着する前にリソースを処理および更新する時間がないため、PUT#2がPUT#1を上書きします。楽観的ロックの要点は、それが起こらないようにすることです...

3
HTTPヘッダーを介してアクセストークンを送信しても安全ですか?
これは最初のRESTful Webサービスであり、セキュリティの問題が心配です。アクセストークンをHTTPヘッダー経由で送信しても安全ですか?例えば: POST /v1/i/resource HTTP/1.1 Content-Type: application/x-www-form-urlencoded Api-key: 5cac3297f0d9f46e1gh3k83881ba0980215cd71e Access_token: 080ab6bd49b138594ac9647dc929122adfb983c8 parameter1=foo&parameter2=bar を介して行われた接続SSL。また、scopeすべての属性として定義する必要があるものaccess token

1
トンネリングに関するREST APIルール
ただ、はでこれを読んでREST APIルールブック:GETとPOSTは、トンネル他のリクエストメソッドに使用することはできません。 トンネリングとは、メッセージの意図を覆い隠したり、虚偽の表現をしたり、プロトコルの透過性を損なうHTTPの悪用を指します。REST APIは、HTTP語彙が制限されているクライアントに対応するために、HTTPのリクエストメソッドを誤用してその設計を損なうことがあってはなりません。このセクションのルールで指定されているHTTPメソッドを常に適切に使用してください。[私のハイライト] しかし、その後、フレームワークの多くは、使用トンネリングをするので、HTMLフォーム経由でRESTインターフェースを公開する<form>だけ知っているGETとPOST。私の最新の例はMethodRewriteMiddlewareフラスコ用です(フレームワークの作者が提出):http : //flask.pocoo.org/snippets/38/。 Webフレームワークのハッキングやアドオンなしで「ルール」に準拠する方法はありますか?
11 api  rest  web-framework  http 

1
Webサービスの商用ライセンスキーを生成する
バックグラウンド Webベースのソフトウェアライセンスに関するビジネス上の質問があります。多くのWebサイトが、さまざまなAPIのサービスとしてソフトウェアを提供しています。良い例がGoogleのカスタム検索APIです。Webサービスを使用するプロセスは通常、次のようになります。 アカウント。ユーザーがアカウントを作成します。 サーバ。ユーザーは、APIリクエストを行うサーバーのIPアドレスを定義します。 キー。ユーザーは、目的のAPIの公開APIキーを受け取ります。 ガイド。ユーザーには、APIキーを使用してリクエストを行う方法を示すドキュメントが提供されます。 テスト。ユーザーは、統合機能を検証するためにテスト要求を行うことができます。 請求。ユーザーは、アカウントをアクティブにするために支払います。 製造。ユーザーはWebサービスをアプリケーションに統合します。 非アクティブ化。システムは、有効期限が切れた場合、要求の制限を超えた場合などにアカウントを非アクティブにします これらの要件は、ライセンスされているサービスとの統合に追加されます。 問題 これは中小企業にとっては大変な作業です。 ご質問 この問題に対処する既製のオープンソースプロジェクトは何ですか? そのようなプロジェクトがない場合、実行可能な低コストのソリューション(理想的には、各ライセンスのパーセンテージ)を設計するにはどうしますか?つまり、Webベースのサービスのライセンスを求める中小企業(収入がほとんどまたはまったくない)にどのソフトウェアまたは既存の商用サービスを使用しますか? ありがとうございました! 関連リンク Webアプリケーションのライセンスキーソリューション、最善のアプローチは何ですか? API管理システム

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