比方说,我们有两页:根据请求
https://www.example.com/first/firstpage.html
https://www.example.com/second/secondpage.html
两个加载资源https://www.example.com/resource.js
如果我想要服务器服务resource.js
能够服务于不同版本的resource.js
,具体取决于请求来自哪个页面,是否有可靠的头部,可以确定请求页面的完整URL(或者可能有其他方法来确定此问题)?
我知道有一个Origin
标题,但从我的理解,这只是代表没有完整的URL和查询字符串的域(和任何子域)。有没有办法让服务器知道资源请求的完整URL和查询字符串?
如果这是不可能的,我知道这会很容易以包括JS脚本标记信息如下:
<script src="/resource.js?origin=/first/firstpage.html"></script>
但我不希望有修改每个页面的脚本标记。是否有其他方式让页面自动在资源请求的查询字符串中包含它自己的URL(无必须使用我自己的JS脚本动态加载资源 - 仅HTML请!),或者任何唯一的标识符脚本标记不必在每个页面上单独修改?
好点 - 我认为我最初的想法可能有缺陷。根据我的问题的第二部分,是否有任何方法让浏览器自动在URL中附加某种唯一标识符,或者某种方式让提供资源的终端服务器能够区分来自'firstpage.html '和'secondpage.html'? – abagshaw
@abagshaw您需要预处理发送给客户端的HTML以包含要加载的URL,或者使用JavaScript来添加脚本。 – Brad