问题标签 [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.

0 投票
3 回答
983 浏览

java - Java,如何在 JAR 包中读取和存储文件

我正在尝试使用 Java 构建一个简单的 HTTP 服务器,使用

使用网络浏览器连接时,我只是从字符串中写入输出(HTTP 标头 + html 代码)

并且浏览器正确显示它。

现在我的问题是,我想构建一个完整的网页(html、javascript、css、图像)并将这些文件放入 Java 包 (JAR) 文件中,当然,这些文件设计为以后不可修改JAR 可以使用了。这是问题:

  1. 如何做到这一点?将文件存储在 JAR 中,然后在建立连接时输出它们。

  2. 如何输出图像文件(非文本)就像输出String一样out.write()

谢谢,任何示例或代码表示赞赏。

0 投票
1 回答
1811 浏览

multithreading - HTTP 服务器中“每个连接一个线程”的优势是什么?

如果我正在编写 HTTP 服务器,为什么要考虑在自己的线程中处理每个 HTTP 连接?

我读过很多关于事件驱动的 HTTP 服务器比线程驱动的服务器更快、更具可扩展性的论点。(例如,请参阅Nginx上的 Ars Technica )。然而,世界上最受欢迎的服务器 Apache 是线程驱动的。为什么?有什么优势?

0 投票
2 回答
292 浏览

python - 通过 HTTP 提供日志

这是我想要实现的目标:我有一些 Linux 服务器部署了我的 web 应用程序。目前,我的开发团队访问 Web 应用程序,运行他们的测试用例,然后通过 SSH 连接到我的 Linux 机器以查看或获取日志。我不希望他们能够通过 SSH/FTP 进入任何服务器,我正在寻找一种解决方案,仅通过 HTTP 和 HTTP 将日志发送给他们(没有 Linux 解决方案,如监狱等)。

由于服务器已经很慢并且不能真正处理更多的负载,我决定使用 Python 的 SimpleHTTPServer。对于每个有他们需要的日志的目录,我基本上创建一个 index.html 文件,该文件只有一个到该日志文件的下载链接,然后我在该目录中启动一个 SimpleHTTPServer。我需要在每个盒子上启动 3 个 SimpleHTTPServer,因为它们需要 3 个日志。

这工作正常,除了不时用于访问有时大约 700MB 的日志之一的http://serverurl:port url 停止响应(在谷歌浏览器中它说:没有收到数据,在 IE 和 FF 中它只是显示空白页)。此时,该端口上的 SimpleHTTPServer 仍处于启动状态并显示在正在运行的进程中。

到目前为止,我只是通过杀死然后在该端口上启动 SimpleHTTPServer 来解决这个问题,但我正在寻找一个永久的解决方案。奇怪的是,这只发生在其中一个日志上,我已经厌倦了切换端口号,因为我认为可能存在冲突或其他原因。

任何人都可以建议一个使用 HTTP 的解决方案,它与 SimpleHTTPServer 一样轻量级并且不需要这么多的维护。

0 投票
1 回答
4564 浏览

apache - 根据 apache http 服务器中的请求标头验证传入请求

我们有一个在 weblogic 应用服务器上运行的 web 应用程序(JQuery 和 Spring)。应用服务器前面有一个 apache http 服务器。所有传入的请求都将通过 Web 服务器到达应用服务器。

现在我们有一个要求,我们必须验证传入的 http 请求标头中的值,如果存在,则必须将请求发送到应用服务器。如果不是,我们会阻止请求,然后向最终用户显示静态错误页面。

我想知道我们是否可以在 apache http 服务器中实现这个逻辑。请指教。

0 投票
4 回答
19544 浏览

javascript - 奇怪的 JQuery 错误“代码 501,消息不受支持的方法选项”

我正在学习 JQuery Get 方法。我启动了一个 Python HTTP 服务器:

(只需输入命令“ Python -m SimpleHTTPServer ”)。

只需在我的网络浏览器上访问“http://localhost:80”即可测试此网络服务器。但是,当我编写这个非常简单的 javascript 来访问我的网络服务器时。我收到一条错误消息:

“代码 501,消息不受支持的方法('OPTIONS')”

我使用假设跨域请求 JQuery 的 jquery.xdomainajax.js 库。

这是我的javascript代码:

实际上,如果我将您更改为任何其他网址,例如“http://www.google.ca”。它工作得很好。但我不知道为什么它不适用于基本的 Python HTTP 服务器。谁能帮我?

0 投票
2 回答
3066 浏览

apache - Apache http 服务器每个虚拟主机一个实例

我有兴趣根据下一个参数使用 apache http 服务器:

  1. 在单个端口上运行侦听的单个服务器上
  2. 配置了多个虚拟主机,每个域一个
  3. 将每个虚拟主机作为实例运行在 80 端口中侦听
  4. 能够重新加载一个域配置而无需重新启动其余配置。

我对内存消耗有疑问,如果有,我应该如何改进它。

  • 只要只有一个 http 服务器在运行,我认为这不会是内存问题(如果我错了,请纠正我)?

  • 或者可能是因为每个实例都消耗独立的内存?

  • 应该与在主 apache 配置文件上运行所有 VirtuallHosts 的内存消耗相同吗?

非常感谢,我主要想为每个域运行一个实例,因为我希望能够在需要时重新启动每个 VirtualHost 配置,而不必重新启动其他配置。

谢谢

0 投票
2 回答
670 浏览

java - 如何让 HttpServer 识别 Java 中的特殊字符?

我想用我的 Java HttpServer 进行一些 SQL 查询,但似乎 HttpServer 无法识别我提交到浏览器的链接中的特殊字符:

我总是收到这样的回复:

这是我的服务器的代码:

我怎样才能解决这个问题?

0 投票
3 回答
5055 浏览

out-of-memory - Netty HTTP-server,大文件上传,OutOfMemoryError

首先对不起我歪曲的英语:)

我在编写发送/接收大文件(~2Gb)的 Netty http 服务器时遇到了一些问题。我将非常感谢任何人的帮助或解释。

我的客户端应用程序(网络浏览器)通过 XMLHttpRequest 发送文件,如下所示:

服务器端是:

类 WebSocketServer:

类 HttpRequestServerHandler:

当我发送中等大小的文件时,一切都很好。问题在于大文件(> 300Mb)。一段时间后出现处理异常:

java.lang.OutOfMemoryError:org.jboss 的 org.jboss.netty.buffer.BigEndianHeapChannelBuffer.(BigEndianHeapChannelBuffer.java:39) 的 org.jboss.netty.buffer.HeapChannelBuffer.(HeapChannelBuffer.java:47) 的 Java 堆空间。 netty.buffer.ChannelBuffers.buffer(ChannelBuffers.java:139) at org.jboss.netty.buffer.HeapChannelBufferFactory.getBuffer(HeapChannelBufferFactory.java:73) at org.jboss.netty.buffer.DynamicChannelBuffer.ensureWritableBytes(DynamicChannelBuffer.java: 84) 在 org.jboss.netty.buffer.AbstractChannelBuffer.writeBytes(AbstractChannelBuffer.java:457) 在 org.jboss.netty.buffer.AbstractChannelBuffer 的 org.jboss.netty.buffer.DynamicChannelBuffer.writeBytes(DynamicChannelBuffer.java:239) .writeBytes(AbstractChannelBuffer.java:450) 在 org.jboss.netty.handler.codec.http.HttpChunkAggregator。messageReceived(HttpChunkAggregator.java:140) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302) at 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 .netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read (NioWorker.java:351)在 org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived (ReplayingDecoder.callDecode(ReplayingDecoder.java:506) java:443) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel .socket.nio.NioWorker.read(NioWorker.java:351)org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506) 的展开AndFireMessageReceived(ReplayingDecoder.java:522) org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder. java:443) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel .socket.nio.NioWorker.read(NioWorker.java:351)fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351)fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351)

它甚至没有到达我的 messageReceived 处理程序。我可以假设一些内部 ChannelBuffer 溢出。我试图增加 HttpChunkAggregator(1024*1024*1024) 参数。但是,它没有帮助。我只看到一种解决方案 - 在客户端拆分文件(使用 html5),发送这些块,然后将它们粘贴到服务器上。但它似乎相当复杂。有没有更简单的方法来修复它(在 Netty 范围内)?

谢谢!最好的祝福。

0 投票
1 回答
3398 浏览

python - python http 网络服务器

我在本地网络上为我的家人创建了一个简单的 http 服务器,当我添加一个 html 文件和 png 图片并尝试查看 HTML 文件时,我的图像无法加载。
它说:
“图像“http:// . . . :255/header.png” 无法显示,因为它包含错误。”
这是我的一些代码

除了 png 和 jpeg 部分之外,它们都可以工作。我自己制作的 BM 脚本,和 esp 一样,所以这没什么

0 投票
1 回答
4699 浏览

apache - 如何将 IP 范围重定向到不同的地址?

我想将访问者从定义的 IP 范围重定向到不同的位置。

例如,我希望将此 IP 范围 85.204.0.0/16 中的客户端重定向到 clientsA.html,并将此 IP 范围 195.178.124.0/23 中的客户端重定向到 clientsB.html

我想 .htaccess 参与其中,但我不确定我应该做什么。请帮我。