发送HTTP请求时,所有主流浏览器都使用主机头吗?

时间:2014-10-16 09:08:09

标签: django http web http-headers

我的服务器映射到2个域名,我希望在用户访问主页时根据使用的域名返回不同的网页。

Django在请求对象中有一个get_host()函数,Django doc:

  

get_host()使用来自HTTP_X_FORWARDED_HOST(如果启用了USE_X_FORWARDED_HOST)和HTTP_HOST标头的信息,依次返回请求的发起主机。如果它们没有提供值,则该方法使用SERVER_NAME和SERVER_PORT的组合,如PEP 3333中所述。

我不确定每个主流浏览器是否都尊重这些标题。

我可以依靠此功能告诉我用户正在访问哪个域名吗?

1 个答案:

答案 0 :(得分:3)

是的,所有主流浏览器都会将Host标头发送为it is mandatory,用于通过HTTP / 1.1发送的所有请求。许多HTTP / 1.0客户端也支持此标头。