Apache 和 HTML、发布请求和操作 - 通向同一服务器的绝对 URL 是否会被解析为本地 URL?

发布于 2024-11-10 09:22:59 字数 245 浏览 0 评论 0原文

不能 100% 确定这是否是正确的 SE 网站来询问此问题,因此请随意移动/警告我。

如果我有一个带有表单的网站 www.mysite.com 并将其操作定义为“http://www.mysite.com/handlepost”而不是“/handlepost”,它是否仍然会被解析为本地地址阿帕奇?也就是说,apache 是否会发现我正在尝试将表单数据发送到表单所在的同一服务器并执行自动本地发布,或者数据将被迫进行往返、上网、查找域并实际上作为外部请求发送?

Not 100% sure if this is the right SE site to ask this, so feel free to move/warn me.

If I have a site www.mysite.com with a form on it and define its action as "http://www.mysite.com/handlepost" instead of "/handlepost", does it still get parsed as a local address by apache? That is, will apache figure out that I'm trying to send my form data to the same server the form resides on and do an automatic local post, or will the data be forced to make a round trip, going online, looking up the domain and actually being sent as an outside request?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

末蓝 2024-11-17 09:22:59

Apache 不查看此信息。这是您的浏览器来完成这项工作。

在 Apache 方面,工作只是输出内容(在本例中为 html),apache 并不关心您在此内容中编写 url 的方式。

在浏览器端分析页面并将 GET 请求(图像等)自动发送到所有收集的 url。浏览器应该知道相对 url /foo 实际上是 http://currentsite/foo - 或者它是一个真正的转储浏览器 -。这是他的工作。然后他的工作就是将请求推送到正确的服务器(并知道他是否应该发出新的 DNS 请求、构建新的 HTTP 连接、重用现有的打开的连接、构建多个连接——通常每个 DNS 最多 3 个连接) -, ETC)。 Apache 在这部分工作中什么也不做。

那么为什么绝对网址不好?不是因为浏览器应该处理它的工作(实际上没什么,他的工作是将相对 url 转换为绝对 url);这是因为,如果您的 Web 应用程序仅使用相对 URL,则 Web 服务器的管理员将有更多的可能性代理您的应用程序。例如:

  • 他将能够在几个不同的 DNS 域上为您的 Web 应用程序提供服务器
    (然后让浏览器认为他正在与多个服务器通信,并行化静态文件下载)
  • 他可以使用这个多域来为不同的客户设置应用程序,
  • 他可以构建一个用于外部网络访问的 HTTPS 访问和一个 HTTP(无需S) 访问本地网络的本地名称

如果您的应用程序正在构建绝对 url,这些任务将变得非常困难。

Apache does not look at this information. It's your browser which does this job.

On the Apache side the job is only outputing content (html in this case), apache does not care about the way you write your url in this content.

On the browser side the page is analysed and GET requests (images,etc) are sent automatically to all collected url. The browser SHOULD know that relative url /foo are in fact http://currentsite/foo - or it's a really dump browser -. It is his job. And then it's his job to push the request to the right server (and to known if he should make a new DNS request, build a new HTTP connection, reuse an existing opened connection, build several connections -- usually max 3 conn per DNS--, etc). Apache does nothing in this part of the job.

So why absolute url are bad? Not because of the job the browser should have to do handling it (which is in fact nothing, his job is transforming relative url to absolute ones); It's because if your web application use only relative url the admin of the web server will have far more possibilities on proxying your application. For example:

  • he will be able to server your web application on several different DNS domains
    (and then make the browser think he's talking to several servers, parallelizing static files downloads)
  • he could as use use this multi-domain to set up the application for different costumers
  • he could build an HTTPS access for external network access and an HTTP (without the S) access on a local name for the local network

And if your application is building the absolute url these tasks will become really harder.

南笙 2024-11-17 09:22:59

不要使用绝对 URL。我觉得它会在你的情况下进行往返,因为你已经在动作部分使用了往返。所以最好使用相对 URL

dont use absolute URL's . As i feel it will do a round trip in your case as you have used round trip for the action part. so better use releative URL's

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文