问一个Referer头字段的问题 假设我打开浏览器,访问baidu,搜索到椅子,再打开其中一个页面那么baidu得到的referer是空,后面页面得到的referer是www.baidu.com... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Referer表示超链接源的URL!你想看到实验效果,要从a-->(能过<a href="b.jsp")b页面,然后在B里可以取得Refere参数! 我懂你的意思啊,我就是通过一个html文件:<a href="http://localhost:8080/it317/servlet/RequestHeadersServlet">referer header test</a>去访问RequestHeadersServlet这个Servlet,然后在RequestHeadersServlet的service方法中调用String referrer_value = req.getHeader("referer");结果referrer_value的值却是null调用req.getHeaderNames();得到的里面也没有Referer这个头 String url = request.getHeader("REFERER");url取到的值是此次请求的前一次请求的url地址但是此次请求必须通过超连接请求或是提交请求才能得到上一个请求的URL直接在地址栏输入访问的话则是null建议你先清楚一下页面缓存,和浏览器的缓存。 你要访问的那个超链接,必须是和你的tomcat是同一域下的,否则就是null比如你超链接是http://127.0.0.1/web/a.jsp才可以,如果你的超链接是http://www.163.com 不是同一域的,返回就是null 谢谢指教,我不知道为什么会这样,不过你说的好像是对的,我在我的硬盘中直接双击打开那个html文件,再点击上面的超链接,就没有Referer头我在IE里面输入http://localhost:8080/it317/Referrer.html 去访问那个html文件,再点击上面的超链接,就出来了Referer头但我不懂为啥会这样 终于看到lz的回复了,一直看不到o(∩_∩)o...这是为了防止连接被盗 硬盘双击,是file://xxx.htm访问和http访问不一样referer是http协议中定义的头另外,是否大小写敏感,有待确认,我是历来严格要求自己保持良好的大小写习惯 呵呵 你在硬盘中双击打开的HTML页面 能连接到一个Servlet嘛? 呵呵 你要它在referer头里设置啥呢? 它要的是一个URL 给它个C:/xx.html? 它也没法翻译成url阿 下载个winsock Expert抓包一看就明白了:从本地双击打开的htm文件,点击里面的link去访问别的页面时,不会往外发送referer这个字段另外,回classnameextendsjava:c:/xxx.html严格说也是一个url吧,或者说file://c:/xxx.html也是url,具体见百度百科 to 楼上file://访问不构造http头,和http;//访问不同 Referer大小写敏感只有http://开头并且点页面链接才会发送Referer直接在地址栏写地址不会有Referer跨域也会发送Referer推荐用ieHttpHeader插件看ie发送和接收的http头 Struts2的rest插件报错 tomcat6.0域名访问问题 netbean 6.0 部署错误 JSF怎么分页 着急!10分! 关于替换相同值的方法,请教高手 为什么我的网页连续刷新十多次就会出错呢???? struts 客户端数据校验的问题 String to int类型转换问题(我郁闷有两个小时了) String问题? 400分寻求有较好学习价值的JSP源代码! 偶想用J2EE技术做个BBS jsp乱码
我懂你的意思啊,我就是通过一个html文件:
<a href="http://localhost:8080/it317/servlet/RequestHeadersServlet">referer header test</a>去访问RequestHeadersServlet这个Servlet,然后在RequestHeadersServlet的service方法中调用String referrer_value = req.getHeader("referer");结果referrer_value的值却是null调用req.getHeaderNames();得到的里面也没有Referer这个头
谢谢指教,我不知道为什么会这样,不过你说的好像是对的,我在我的硬盘中直接双击打开那个html文件,再点击上面的超链接,就没有Referer头
我在IE里面输入http://localhost:8080/it317/Referrer.html 去访问那个html文件,再点击上面的超链接,就出来了Referer头但我不懂为啥会这样
呵呵 你在硬盘中双击打开的HTML页面 能连接到一个Servlet嘛? 呵呵
从本地双击打开的htm文件,点击里面的link去访问别的页面时,不会往外发送referer这个字段另外,回classnameextendsjava:
c:/xxx.html严格说也是一个url吧,或者说file://c:/xxx.html也是url,具体见百度百科
只有http://开头并且点页面链接才会发送Referer
直接在地址栏写地址不会有Referer
跨域也会发送Referer推荐用ieHttpHeader插件看ie发送和接收的http头