問題タブ [httpserver]
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.
java - Java、JARパッケージ内のファイルを読み取って保存する方法
Javaを使用して単純なHTTPサーバーを構築しようとしています。
Webブラウザーを使用して接続する場合、文字列から出力(HTTPヘッダー+ htmlコード)を書き込むだけです。
そしてブラウザはそれを正しく表示します。
そして今、私の問題は、完全なWebページ(html、javascript、css、images)を作成し、それらのファイルをJavaパッケージ(JAR)ファイルに入れたいということです。もちろん、これらのファイルは、後で変更されないように設計されています。 JARを使用する準備が整いました。そして、ここに質問があります:
これを達成する方法は?ファイルをJAR内に保存し、接続が確立されたときにそれらを出力します。
どのように画像ファイル(非テキスト)を出力するのと同じように出力
String
しout.write()
ますか?
おかげで、どんなサンプルやコードでも大歓迎です。
multithreading - HTTP サーバーの「接続ごとに 1 つのスレッド」の利点は何ですか?
HTTP サーバーをプログラミングしている場合、すべての HTTP 接続を独自のスレッドで処理することを検討する必要があるのはなぜですか?
イベント駆動型の HTTP サーバーは、スレッド駆動型の HTTP サーバーよりも高速でスケーラブルであるという多くの議論を読みました。(たとえば、Nginxの Ars Technica を参照してください)。それでも、世界で最も人気のあるサーバーである Apache はスレッド駆動型です。なんで?利点は何ですか?
python - HTTP 経由でログを提供する
これが私が達成しようとしているものです: Web アプリがデプロイされている Linux サーバーがいくつかあります。現在、私の開発チームは Web アプリにアクセスし、テスト ケースを実行してから、Linux ボックスに SSH 接続してログを表示または取得しています。私は彼らが任意のサーバーに SSH/FTP できるのが好きではなく、HTTP および HTTP のみを介してログを取得するソリューションを探しています (jail などの Linux ソリューションはありません)。
サーバーはすでにかなり遅く、実際にはそれ以上の負荷を処理できないため、Python の SimpleHTTPServer を使用することにしました。必要なログがあるディレクトリごとに、基本的に、そのログ ファイルへのダウンロード リンクのみを持つ index.html ファイルを作成し、そのディレクトリで SimpleHTTPServer を起動します。必要なログが 3 つあるため、各ボックスで 3 つの SimpleHTTPServer を開始する必要があります。
これは正常に動作しますが、ログの 1 つにアクセスするために使用されるhttp://serverurl:port url がときどき 700MB 程度になることがあり、応答を停止します (Google Chrome では「データが受信されていません」と表示され、IE と FF では単に表示されるだけです空白のページ)。その時点で、そのポートの SimpleHTTPServer はまだ稼働しており、実行中のプロセスに表示されます。
これまでのところ、この問題が発生したときに、そのポートで SimpleHTTPServer を強制終了してから開始することで修正してきましたが、恒久的な解決策を探しています。奇妙なことは、ログの 1 つでのみ発生することです。ポート番号の切り替えにうんざりしています。おそらく競合か何かがあると思っていたからです。
HTTP を使用し、SimpleHTTPServer と同じくらい軽量で、それほど多くのメンテナンスを必要としないソリューションを提案できる人はいますか。
apache - Apache httpサーバーのリクエストヘッダーに基づいて受信リクエストを検証します
weblogic アプリケーション サーバーで実行されている Web アプリケーション (JQuery および Spring) があります。アプリサーバーの前にApache httpサーバーがあります。すべての着信要求は、Web サーバーを経由してアプリ サーバーに到達します。
ここで、着信 http 要求ヘッダーの値を確認する必要があり、存在する場合は、要求をアプリ サーバーに送信する必要があります。そうでない場合は、リクエストをブロックし、静的なエラー ページをエンド ユーザーに表示します。
このロジックを apache http サーバーに実装できるかどうか知りたいです。ご意見をお聞かせください。
javascript - 奇妙なJQueryエラー「コード501、メッセージサポートされていないメソッドオプション」
JQueryのGetメソッドを学んでいます。PythonHTTPサーバーを起動します。
(コマンド「Python-m SimpleHTTPServer」と入力するだけです)。
Webブラウザで「http:// localhost:80」にアクセスするだけで、このWebサーバーをテストできます。ただし、この非常に単純なJavaScriptを記述して、Webサーバーにアクセスするとします。エラーメッセージが表示されます:
「コード501、メッセージサポートされていないメソッド('OPTIONS')」
クロスドメインリクエストJQueryを想定したjquery.xdomainajax.jsライブラリを使用しています。
これが私のjavascriptコードです:
実際、uを「http://www.google.ca」などの他のURLに変更するとします。それは非常にうまく機能します。しかし、なぜそれが基本的なPythonHTTPサーバーで機能しないのかわかりません。誰か助けてもらえますか?
apache - 仮想ホストごとに 1 つのインスタンスの Apache http サーバー
次のパラメータに基づいてApache httpサーバーを操作することに興味がありました。
- 1 つのポートで listenin を実行している 1 つのサーバー上
- ドメインごとに 1 つずつ、複数の仮想ホストを構成した
- 各仮想ホストをポート 80 でリッスンするインスタンスとして実行する
- 残りを再起動することなく、1 つのドメイン構成をリロードできました。
メモリ消費量に疑問があります。ある場合、どうすれば改善できますか。
httpサーバーが1つしか実行されていないとすぐに、それがメモリの問題になるとは思いません(間違っていれば修正してください)。
または、各インスタンスが独立したメモリを消費するため、そうかもしれませんか?
メインのApache構成ファイルですべてのVirtuallHostを実行するのと同じメモリ消費量にする必要がありますか?
どうもありがとう、主にドメインごとに1つのインスタンスを実行したいのは、必要なときに他のVirtualHost構成を再起動せずに各VirtualHost構成を再起動できるようにしたいからです。
ありがとう
java - JavaでHttpServerに特殊文字を認識させるにはどうすればよいですか?
Java HttpServer で SQL クエリを作成したいのですが、ブラウザに送信したリンクの特殊文字を HttpServer が認識しないようです。
私はいつもこの応答を受け取ります:
これは私のサーバーのコードです:
どうすればこれを修正できますか?
out-of-memory - Netty HTTP サーバー、大きなファイルのアップロード、OutOfMemoryError
まず第一に、私の曲がった英語で申し訳ありません:)
大きなファイル (~2Gb) を送受信する Netty http サーバーの作成中に問題が発生しました。そして、誰かの助けや説明をいただければ幸いです。
私のクライアント アプリケーション (Web ブラウザー) は、次のように XMLHttpRequest 経由でファイルを送信します。
サーバー側は次のとおりです。
クラス WebSocketServer:
クラス HttpRequestServerHandler:
中サイズのファイルを送信すると、すべてがうまく機能します。問題は大きなファイル (>300Mb) にあります。しばらくすると処理例外が発生します。
java.lang.OutOfMemoryError: org.jboss.netty.buffer.HeapChannelBuffer.(HeapChannelBuffer.java:47) の Java ヒープ スペース。 org.jboss.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:73) の netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:139) org.jboss.netty.buffer.DynamicChannelBuffer.ensureWritableBytes(DynamicChannelBuffer.java: 84) org.jboss.netty.buffer.DynamicChannelBuffer.writeBytes(DynamicChannelBuffer.java:239) で org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:457) で org.jboss.netty.buffer.AbstractChannelBuffer org.jboss.netty.handler.codec.http.HttpChunkAggregator の .writeBytes(AbstractChannelBuffer.java:450)。org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302) で messageReceived(HttpChunkAggregator.java:140) org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndFireMessageReceived(ReplayingDecoder.java:522) でorg.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506) で org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443) で org.jboss org.jboss.netty.channel.socket.nio.NioWorker.read の org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) の .netty.channel.Channels.fireMessageReceived(Channels.java:274) (NioWorker.java:351)org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder. java:443) org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) で org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) で org.jboss.netty.channel .socket.nio.NioWorker.read(NioWorker.java:351)org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder. java:443) org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) で org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) で org.jboss.netty.channel .socket.nio.NioWorker.read(NioWorker.java:351)org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351) の fireMessageReceived(Channels.java:261)org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351) の fireMessageReceived(Channels.java:261)
私のmessageReceivedハンドラーにさえ到達しません。内部 ChannelBuffer の一部がオーバーフローしていると推測できます。HttpChunkAggregator(1024*1024*1024) パラメータを増やしてみました。しかし、それは役に立ちませんでした。クライアント側で(html5を使用して)ファイルを分割し、これらのチャンクを送信して、サーバーに貼り付けるという1つの解決策しかありません。しかし、それは非常に複雑なようです。それを修正する簡単な方法はありますか (Netty スコープ内)?
ありがとうございました!よろしくお願いします。
python - PythonhttpWebサーバー
ローカルネットワーク上に家族用のシンプルなhttpサーバーを作成しましたが、htmlファイルとpng画像を追加して、HTMLファイルを表示しようとすると、画像を読み込めません。「画像「http:// 。。。:255 / header.png」はエラーが含まれているため、表示できません。 」
と書かれて
います。これが私のコードの一部です
pngとjpegセクションを除いてすべて動作します。私が自分で作ったBMスクリプト、espと同じなので、それは何もありません
apache - IP範囲を別のアドレスにリダイレクトする方法は?
定義されたIP範囲から別の場所に訪問者をリダイレクトしたいと思います。
たとえば、このIP範囲85.204.0.0/16のクライアントをclientsA.htmlにリダイレクトし、このIP範囲195.178.124.0/23のクライアントをclientsB.htmlにリダイレクトしたいとします。
.htaccessが関係していると思いますが、何をすべきかわかりません。私を助けてください。