gpt4 book ai didi

javascript - 如何在重定向后使用 Javascript 获取 URL 路径?

转载 作者:行者123 更新时间:2023-11-30 07:19:18 26 4
gpt4 key购买 nike

这可能有点离谱,但一位 friend 问我这件事,这让我有些困扰。如果服务器将所有请求重定向到默认文件(例如 index.html),您如何确定地址栏中的当前路径。

假设您输入了:

www.example.com/

并且您的服务器配置会自动将此请求重定向到

www.example.com/index.html

但是您的网址栏中的地址并没有改变!那么你如何使用 Javascript 找出这个 url 上的路径是 index.html 呢?

我查看了 location.pathname,但那只给了我/。

有什么想法吗?

最佳答案

问题是它实际上不是重定向。当您在 Web 浏览器中键入 'www.example.com' 时,浏览器会生成如下 HTTP 请求:

GET / HTTP/1.1
User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/
0.9.8h zlib/1.2.3 libssh2/0.15-CVS
Host: www.example.com
Accept: */*

请注意,它正在请求一个名为 / 的文档。服务器有两种可能的响应:

HTTP/1.1 200 OK
(more headers)

Content...

HTTP/1.1 301 Moved Permanently
Location: (location of redirect)
(more headers)

(Optional content)

在案例 #2 中,您可以获得重定向位置,因为它实际上是一个重定向。但在案例 #1 中,服务器 正在执行重定向:它看到对 / 的请求,而是提供其索引页面的内容(例如 index.htmlindex.phpdefault.aspx 等)。就您的浏览器而言,这只是文档 / 的内容。它不知道自己已被重定向。

关于javascript - 如何在重定向后使用 Javascript 获取 URL 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/335337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com