zoukankan      html  css  js  c++  java
  • 为什么用IP无法访问网站,域名可以访问?

      我们访问网站都是通过域名进行访问的,偶尔会使用网站IP进行访问,如学校通常使用IP登录教务处,但很多的时候我们无法通过ip进行访问其他网站,这就涉及到服务器的问题了。

          网站都是依托在服务器上面的,而服务器有很多种,阿里云有ECS、虚拟主机等。不得不说的是我们在访问网站的时候会涉及到一个DNS解析的过程,是将浏览器地址栏的域名转化成IP地址的一个过程,这个过程是由DNS服务器执行的,不多说了,详见(相关文档:一次完整的HTTP请求过程)。

      一般的网站会选择放在虚拟主机,且在主机上放置了很多个网站,而每个网站绑定1个或以上域名,虚拟主机上,例如Apache主机的配置会将对应的ip解析到对应的网站目录的,实现一台服务器上配置多个站点;一般用户在访问的时候,会产生一个http请求报文,上面的host信息可以提供给服务器,告诉服务器要访问的域名,从而实现一台主机绑定一个IP,即使有多个网站,也不会相互干扰。但使用IP访问,主机不知道用户访问的具体目录,请求便会出现错误。

    这里指的是共享主机,如果是独立的主机,网站则是可以使用IP进行访问的。

      如果就想用ip形式访问,可以手动设置Host头域信息。

      java中以org.apache.http.client.methods.HttpGet实现http请求为例,解决方法HttpGet httpGet = new HttpGet(url);

      httpGet.setHeader(“Host”, ServerHostname);

  • 相关阅读:
    中文分词资源
    软工第二次作业——数独生成器
    软工第一次作业?再次给自己一次定位!
    大一下学期的自我目标,上学期的小总结
    在Mac OS X上安装JavaHL
    在MONO下实现WCF所遇到的问题
    linux下允许root用户远程登录
    CentOS 6.0 安装 MONO 2.10.8
    Linux Vi命令
    CentOS 6.0 编译安装 MySQL 5.5.17
  • 原文地址:https://www.cnblogs.com/engeng/p/5968915.html
Copyright © 2011-2022 走看看