我们有一个用 C 编写的自定义网络服务器。
当浏览器访问页面http://mydomain.com:30001/index.html时,
我们的网络服务器会将浏览器重定向到 mydomain.com:30001/login.html,通过向浏览器发送 http 307 响应,然后浏览器将访问登录 url。
这在 IE 8 和 Chrome 中运行良好。
但是在firefox(18+)中,访问页面http://mydomain.com:30001/index.html时,
浏览器无法加载页面(/index.html 或 /login.html),并且似乎永远处于加载过程中。(并且萤火虫>网络面板什么也没显示。)
我也试过火狐设置
工具>选项>高级>常规:辅助功能:[]“当网站尝试重定向或重新加载页面时警告我”,
但没有任何效果,也没有任何改变。
所以我想知道为什么 Firefox 的行为不同或者还有其他原因。
更新:这是在 wireshark 中捕获的 firefox HTTP 部分
1.REQUEST(在浏览器地址栏访问http://mydomain.com:30001/index.html时)
GET /index.html HTTP/1.1
主机:mydomain.com:30001
用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0
接受:text/html,application/xhtml+xml ,application/xml;q=0.9, / ;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
连接:保持活动
2.响应
HTTP/1.1 307 临时重定向
连接:keep-alive
位置:/login.html
就是这样,Firefox 不会通过另一个请求获取 /login.html。