问题标签 [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 投票
19 回答
458374 浏览

java - Simple HTTP server in Java using only Java SE API

Is there a way to create a very basic HTTP server (supporting only GET/POST) in Java using just the Java SE API, without writing code to manually parse HTTP requests and manually format HTTP responses? The Java SE API nicely encapsulates the HTTP client functionality in HttpURLConnection, but is there an analog for HTTP server functionality?

Just to be clear, the problem I have with a lot of ServerSocket examples I've seen online is that they do their own request parsing/response formatting and error handling, which is tedious, error-prone, and not likely to be comprehensive, and I'm trying to avoid it for those reasons.

0 投票
3 回答
1582 浏览

delphi - TIdHTTPServer 是否与 Microsoft BITS 兼容

我们正在尝试使用 TIdHTTPServer 组件为我们的软件编写更新服务器。目前,我们正在提供一个 XML 文件,其中列出了可用更新及其文件版本等,当客户端程序找到更新版本时,它应该开始使用 BITS 下载它。

现在这是我们遇到问题的地方,我们的程序正在请求 XML 文件并看到有可用的更新。然后它会创建一个 BITS 作业来下载它,但是 BITS 不断报告下载失败。我们可以使用相同的 URL 和 IE/Firefox/Chrome 下载文件。

所以我的问题:

TIdHTTPServer 与 BITS 兼容吗?

我问这个问题是因为我发现要让 bit 工作有这些下载要求。
BITS 下载的 HTTP 要求

BITS 支持 HTTP 和 HTTPS 下载和上传,要求服务器支持 HTTP/1.1 协议。对于下载,HTTP 服务器的 Head 方法必须返回文件大小,并且它的 Get 方法必须支持 Content-Range 和 Content-Length 标头。因此,除非 ASP、ISAPI 或 CGI 脚本支持 Content-Range 和 Content-Length 标头,否则 BITS 仅传输静态文件内容并在您尝试传输动态内容时生成错误。

只要满足 Head 和 Get 方法要求,BITS 就可以使用 HTTP/1.0 服务器。

为了支持文件的下载范围,服务器必须支持以下要求:

允许 MIME 标头包含标准的 Content-Range 和 Content-Type 标头,以及最多 180 字节的其他标头。在 HTTP 标头和第一个边界字符串之间最多允许两个 CR/LF。

0 投票
1 回答
1258 浏览

python - Python,BaseHTTPRequestHandler:如何从套接字读取文件中可用的内容?

我正在使用 Python 的 BaseHTTPRequestHandler 类来构建 Web 服务器。我想为 WebSockets 添加一个端点。这意味着我需要读取处理程序的 rfile 中可用的任何内容,以便在接收消息时一一处理消息(而不必读取 while 输入)。

我尝试使用不同的“读取”组合(例如,使用大缓冲区,认为如果可用的数据较少,它会提前返回较少的数据;没有参数,但它只是意味着读取直到 EOF)但不能让这个工作。

我可以想到两个解决方案:

  • 调用 read(1): 逐个读取字节。我宁愿不这样做,因为我不确定缓冲语义是什么(例如,我不希望每个字节读取一个系统调用)。

  • 暂时使文件非阻塞,然后尝试读取数据块,然后使其阻塞,然后尝试读取 1 个字节。这似乎相当混乱。我能想到的另一个选择是只使用非阻塞套接字,但这似乎不适用于我当前的线程框架。

关于如何读取以返回任何可用数据的任何想法?

0 投票
1 回答
651 浏览

.net - 将 WCF 用于简单项目的 HTTP 服务器 - 值得吗?

我需要在我的 .NET 应用程序中嵌入 HTTP 服务器。简单地说,会有两个动态生成的视图,但可以说——只有两个不同的页面。是否值得使用博客文章中介绍的 WCF:使用 WCF 构建基本 Web 服务器来完成如此简单的任务?HttpListener在这种情况下使用类会更容易更好吗?

0 投票
1 回答
140 浏览

java - HttpServer 中的 for 循环行为不端

我有一个 for 循环的奇怪问题。这个循环只迭代一次,而它应该迭代更多次(它有 3-4 个元素,取决于不相关的东西。

这是代码:

该程序打印以下行:

执行 /admin.dsp

_elements.size()=4

元素类:java.lang.String

请注意,它永远不会打印最后一个 System.out.println!它神秘地破裂并退出。没有抛出异常或任何东西,并且此代码部分由 com.sun.net.httpserver.HttpHandler 的“handle(HttpExchange)”方法执行。

有谁知道这里发生了什么?

提前致谢!

0 投票
2 回答
3267 浏览

windows - windows django 服务器

我继承了 Windows Server,我必须在其上部署一个 django 应用程序。

有没有人尝试在这个平台上用 django 支持对 http 服务器进行基准测试?哪个最快?

我的应用程序的用例是:

  • 没有太多写入 db
  • 大量使用管理面板
  • 显示大量结果
0 投票
1 回答
2031 浏览

python - 如何从 BaseHTTPRequestHandler 访问 HTTPServer 的成员?

我正在整理一个涉及 GUI、HTTP 和 TCP 服务器的小应用程序。GUI 控制从 HTTP 和 TCP 服务器返回到客户端的响应。我使用 HTTPServer 和 SocketServer.TCPServer 类作为服务器,以及 BaseHTTPRequestHandler 和 StreamRequestHandler 的子类。但是,让我们首先关注 HTTP 方面的事情。

当 HTTPServer 收到请求时,它应该检查 GUI 的状态,并做出适当的响应。我已向指向 GUI 的 HTTPServer 添加了一个成员变量,但无法找到从 BaseHTTPRequestHandler 子类访问此字段的好方法。如何才能做到这一点?

以下是我目前拥有的代码,尽管 Python 会引发异常MyHTTPHandler instance has no attribute 'server'

0 投票
1 回答
250 浏览

perl - HTTP::Server::Simple 不会安装

测试失败,不知道怎么解决。

显然,环境变量设置为 VPS 的主机 ip;不是 127.0.0.1?

0 投票
1 回答
2564 浏览

java - Http-Server 如何创建请求标头和响应标头

求救求救求救!!!我在 java 中创建了一个原始 HttpServer,它侦听端口 80 并使用 Get 方法打开文件等(127.0.0.1/index.html)。我想从 HTTP/1.1 (RFC 2616) 协议创建请求标头(接受、接受语言、用户代理)和响应标头(内容长度和缓存控制)。你能帮我怎么做吗...你会救我的命!!!!!!!!!谢谢!

0 投票
5 回答
1832 浏览

java - php中的http服务器

我想为多个客户端在 php 中为服务器创建 http 套接字连接。我怎样才能做到这一点 ?我需要一些资源。

首先,我试图在 java 中创建服务器。我在 java 中创建服务器。并试图从android应用程序访问。但是服务器找不到任何客户端。但是当我在java中创建客户端时。它正在工作。我该如何解决这个问题???