HttpServletRequest - 如何获取引用 URL?

2022-08-31 07:29:58

我需要在Java Servlet中记录链接到我的网站的URL。


答案 1

它在 HTTP 引用标头中可用。您可以在 servlet 中获取它,如下所示:

String referrer = request.getHeader("referer"); // Yes, with the legendary misspelling.

但是,您需要意识到这是一个客户端控制的值,因此可以被欺骗到完全不同甚至删除的东西。因此,无论它返回什么值,您都不应将其用于后端的任何关键业务流程,而应仅用于表示控制(例如,隐藏/显示/更改某些纯布局部分)和/或统计信息。

对于感兴趣的人,有关拼写错误的背景可以在维基百科中找到。


答案 2

实际上它是:,甚至更好,并且100%肯定,HttpHeaders在哪里request.getHeader("Referer")request.getHeader(HttpHeaders.REFERER)com.google.common.net.HttpHeaders


推荐