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

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

4
Ajaxリクエストでリダイレクトを検出しますか?
jQueryを使用してURLを取得し、302リダイレクトで応答したかどうかを明示的に確認したいが、リダイレクトは追跡したくない。 jQueryは$.ajax常にリダイレクトに従うようです。これを防ぐにはどうすればよいですか?それに従わずにリダイレクトを確認できますか? 「jquery ajax redirect」のようなタイトルにはさまざまな質問がありますが、それらはすべて、サーバーが提供するステータスを直接確認するだけでなく、他の目標を達成することを伴うようです。
94 jquery  ajax  http 

1
`http.NewRequest(…)`を使用してURLエンコードされたPOSTリクエストを作成します
データをapplication/x-www-form-urlencodedコンテンツタイプとして送信するAPIにPOSTリクエストを送りたいのですが。リクエストヘッダーを管理する必要があるため、このhttp.NewRequest(method, urlStr string, body io.Reader)メソッドを使用してリクエストを作成しています。このPOSTリクエストでは、データクエリをURLに追加し、次のように本文を空のままにします。 package main import ( "bytes" "fmt" "net/http" "net/url" "strconv" ) func main() { apiUrl := "https://api.com" resource := "/user/" data := url.Values{} data.Set("name", "foo") data.Add("surname", "bar") u, _ := url.ParseRequestURI(apiUrl) u.Path = resource u.RawQuery = data.Encode() urlStr := fmt.Sprintf("%v", u) // "https://api.com/user/?name=foo&surname=bar" client := &http.Client{} …
94 http  go 

2
$ httpパラメータの取得が機能しない
これが機能しない理由を誰かが知っていますか? $http .get('accept.php', { source: link, category_id: category }) .success(function (data, status) { $scope.info_show = data }); これは機能します: $http .get('accept.php?source=' + link + '&category_id=' + category) .success(function (data, status) { $scope.info_show = data });

4
DELETEリクエスト本文のRESTful代替
一方でHTTP 1.1仕様は、ように見えることを可能にメッセージ本文をDELETE要求、それのための定義された意味がないので、サーバはそれを無視すべきであることを示していると思われます。 4.3メッセージ本文 サーバーはどんなリクエストでもメッセージ本文を読んで転送すべきです。リクエストメソッドにエンティティボディの定義されたセマンティクスが含まれていない場合、リクエストを処理するときにメッセージボディを無視する必要があります(SHOULD)。 私はすでに、SOやそれ以降のこのトピックに関するいくつかの関連するディスカッションをレビューしました。 エンティティボディはHTTP DELETEリクエストで許可されていますか? HTTPリクエストメソッドのペイロード リクエストボディを含むHTTP GET ほとんどの議論は、DELETEでメッセージ本文を提供することが許可されている可能性があることに同意しているようですが、一般的には推奨されません。 さらに、さまざまなHTTPクライアントライブラリの傾向に気づきました。DELETEのリクエスト本文をサポートするために、これらのライブラリのログ記録がますます強化されているようです。ほとんどのライブラリは義務的であるようですが、初期の抵抗が少しあることもあります。 私のユースケースでは、DELETEに必要なメタデータを追加する必要があります(たとえば、削除に必要な他のメタデータとともに、削除の「理由」)。私は次のオプションを検討しましたが、HTTP仕様やRESTのベストプラクティス、あるいはその両方と完全に一致しているようには見えません。 メッセージ本文 -仕様は、DELETEのメッセージ本文には意味論的な値がないことを示しています。HTTPクライアントでは完全にはサポートされていません。標準的な練習ではない カスタムHTTPヘッダー -通常、カスタムヘッダーを要求することは標準的な方法に反します。それらの使用は、私のAPIの他の部分と一貫性がなく、いずれもカスタムヘッダーを必要としません。さらに、悪いカスタムヘッダー値を示すために利用できる適切なHTTP応答がありません(おそらく別の質問です) 標準HTTPヘッダー -適切な標準ヘッダーはありません クエリパラメータ - クエリパラメータを追加すると、削除されるRequest-URIが実際に変更されます。標準的な慣行に反して POSTメソッド -(例POST /resourceToDelete { deletemetadata })POSTは削除のセマンティックオプションではありません。POSTは実際には反対のアクションを表します(つまり、POSTはリソースの下位を作成しますが、リソースを削除する必要があります)。 複数のメソッド -DELETE要求を2つの操作(PUT削除メタデータ、次にDELETEなど)に分割すると、アトミック操作が2つに分割され、一貫性のない状態が残る可能性があります。削除理由(およびその他の関連メタデータ)は、リソース表現自体の一部ではありません。 私の最初の好みはおそらくカスタムHTTPヘッダーの次にメッセージ本文を使用することでしょう。ただし、示されているように、これらのアプローチにはいくつかの欠点があります。 DELETEリクエストにそのような必要なメタデータを含めるためのREST / HTTP標準に沿った推奨事項またはベストプラクティスはありますか?私が考慮していない他の選択肢はありますか?

4
「Vary:Accept」HTTPヘッダーの機能は何ですか?
PHPを使用して動的なWebページを生成しています。次のチュートリアル(下のリンクを参照)で述べられているように、X_HTMLドキュメントのMIMEタイプは、$ _ SERVER ['HTTP_ACCEPT']で許可されている場合、「application / xhtml + xml」である必要があります。2つの異なるMIME(「application / xhtml + xml」と「text / html」)で同じページを提供できるため、「Vary」HTTPヘッダーを「Accept」に設定する必要があります。これはプロキシのキャッシュに役立ちます。 リンク:http : //keystonewebsites.com/articles/mime_type.php 今、私は次の影響を確信していません:header( 'Vary:Accept'); 「Vary:Accept」が正確に何をするのか私は本当にわかりません... 私が見つけた唯一の説明は: Content-Typeヘッダーの後、Varyヘッダーが送信され(私が正しく理解している場合)、プロキシサーバーなどの中間キャッシュに、ドキュメントを要求するクライアントの機能に応じてドキュメントのコンテンツタイプが異なることを伝えます。 http://www.456bereastreet.com/archive/200408/content_negotiation/ 誰でも私にこのヘッダーの「本当の」説明を(その値で)与えることができます。私は次のようなことを理解していると思います:Vary:Accept-Encodingプロキシのキャッシュが提供されるページのエンコーディングに基づいている可能性がありますが、理解できません:Vary:Accept
93 http  caching  proxy 

8
Javaでエラーレスポンスの本文を読み取る
Javaでは、このコードは、HTTPの結果が404の範囲である場合に例外をスローします。 URL url = new URL("http://stackoverflow.com/asdf404notfound"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.getInputStream(); // throws! 私の場合、たまたまコンテンツが404であることは知っていますが、とにかく応答の本文を読みたいと思います。 (私の実際の場合、応答コードは403ですが、応答の本文には拒否の理由が説明されているので、それをユーザーに表示します。) 応答本文にアクセスするにはどうすればよいですか?

4
現代におけるhttpキープアライブ
したがって、httpについて少し知っているhaproxy作者によると、 キープアライブは、CPUが100倍遅いときにサーバーのCPU使用率を削減するために開発されました。しかし、永続的な接続は、それらを開いたクライアント以外の誰も使用できない一方で、大量のメモリを消費するとは言いません。2009年の今日、CPUは非常に安価であり、メモリはアーキテクチャまたは価格によって数ギガバイトに制限されています。サイトでキープアライブが必要な場合は、実際に問題があります。負荷の高いサイトでは、キープアライブを無効にして、同時クライアントの最大数をサポートすることがよくあります。キープアライブがないことの本当の欠点は、オブジェクトをフェッチするための待ち時間がわずかに増えることです。これを補うために、ブラウザは非キープアライブサイトでの同時接続数を2倍にします。 (http://haproxy.1wt.eu/から) これは他の人々の経験と一致していますか?つまり、キープアライブなし-結果はほとんど目立たなくなりますか?(おそらくWebSocketなどでは、接続はキープアライブステータスに関係なく「オープン」に保たれます-非常に応答性の高いアプリの場合)。サーバーから離れている人にとって効果は大きいですか、またはページをロードするときに同じホストからロードするアーティファクトがたくさんある場合は?(CSS、画像、JSなどは、キャッシュフレンドリーなCDNからますます増えていると思います)。 考え? (これがserverfault.comのものかどうかはわかりませんが、誰かがそこに移動するように指示するまで、私はクロスポストしません)。

13
SecurityException:権限が拒否されました(インターネット権限がありませんか?)
このエラーは本当に奇妙で、再現方法と修正方法がわかりません。多くの検索を実行したため、何も役に立たなかったためです。 ここにスタックトレースがあります: Stack Trace _________________________________ 0 java.lang.RuntimeException: An error occured while executing doInBackground() 1 at android.os.AsyncTask$3.done(AsyncTask.java:299) 2 at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 3 at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 4 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 5 at java.util.concurrent.FutureTask.run(FutureTask.java:137) 6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 7 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 8 at java.lang.Thread.run(Thread.java:856) 9 Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?) 10 at java.net.InetAddress.lookupHostByName(InetAddress.java:430) 11 …
92 android  http 

13
SwiftでREST API呼び出しを行う
私はSwiftを使用してREST APIへのGET呼び出しを行おうとしているのですが、多数のチュートリアルを実行しようとしましたが、理解できません。すべてのObj-CをSwiftに変換する方法がわからないため、またはメソッドn 'の半分が非推奨になっているためです。誰かが呼び出しを行い、返されたJSONデータを解析する方法を知っていますか?
92 ios  swift  rest  api  http 

4
2つのスラッシュで始まるURI…それらはどのように動作しますか?
最近、私はこのように動作するコードブロックを見ました: <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> また、RFC 2396(URI構文)およびRFC 2616(HTTP 1.1)によると、2つのスラッシュで始まるこれらのURIは有効ですが、残念ながらRFCは実際にはそれらを説明していません。 ブラウザーがこれらのURIをどのように処理する/すべき/処理するのかを説明しているリソースを誰かに教えてもらえますか?

3
RESTful APIメソッド。ヘッドとオプション
私はPHPでアプリケーション用のRESTful APIモジュールを書いており、動詞HEADとで少し混ざっていますOPTIONS。 OPTIONS 特定のリソースで使用可能なHTTP動詞を取得するために使用されますか? HEAD 特定のリソースが利用可能かどうかを判断するために使用されますか? 誰かがこれらの動詞を明確化できれば*、それは大歓迎です。 *この説明は、HTTP動詞を転用するRESTful APIアーキテクチャに関するものでした。私は以来、両方のその実現に来ているHEADとOPTIONSすべきではない再目的とすること、および任意のHTTPアプリケーションが必要として代わりに予想どおりに動作します。あ、2年でどう成長するか。
92 php  api  http  rest 


9
ノードのhttp.request()にタイムアウトを設定するにはどうすればよいですか?
運が悪いhttp.requestを使用するHTTPクライアントにタイムアウトを設定しようとしています。これまでのところ、これは次のとおりです。 var options = { ... } var req = http.request(options, function(res) { // Usual stuff: on(data), on(end), chunks, etc... } /* This does not work TOO MUCH... sometimes the socket is not ready (undefined) expecially on rapid sequences of requests */ req.socket.setTimeout(myTimeout); req.socket.on('timeout', function() { req.abort(); }); req.write('something'); req.end(); …
92 http  node.js  timeout 

8
nodejs-最初の引数は文字列またはバッファでなければなりません-http.requestでresponse.writeを使用する場合
特定のURLのHTTPステータスを出力するノードサーバーを作成しようとしています。 res.writeで応答をフラッシュしようとすると、次のエラーが表示されます。throw new TypeError( '最初の引数は文字列またはバッファである必要があります'); しかし、それらをconsole.logで置き換えると、すべて問題ありません(ただし、コンソールではなくブラウザに書き込む必要があります)。 コードは var server = http.createServer(function (req, res) { res.writeHead(200, {"Content-Type": "text/plain"}); request({ uri: 'http://www.google.com', method: 'GET', maxRedirects:3 }, function(error, response, body) { if (!error) { res.write(response.statusCode); } else { //response.end(error); res.write(error); } }); res.end(); }); server.listen(9999); どこかにコールバックを追加する必要があると思いますが、かなり混乱しており、助けていただければ幸いです。
92 node.js  http  callback 

6
同じ名前の複数のCookieを処理する方法は?
たとえば、「a」という名前のCookieに設定する次のHTTPヘッダーを送信するアプリケーションがあるとします。 Set-Cookie: a=1;Path=/;Version=1 Set-Cookie: a=2;Path=/example;Version=1 /exampleサーバーにアクセスすると、両方のパスが有効になるため、「a」という名前の2つのCookieがあります。ブラウザはパス情報を送信しないため、2つのCookieを区別することはできません。 Cookie: a=2; a=1 このケースはどのように処理する必要がありますか?最初のものを選びますか?すべてのCookie値を含むリストを作成しますか?それとも、そのような場合は開発者の間違いと見なされるべきですか?
92 http  cookies 

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