为什么用IP无法访问网站,域名可以访问?

Posted fengff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么用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);

转自:https://www.cnblogs.com/engeng/p/5968915.html

以上是关于为什么用IP无法访问网站,域名可以访问?的主要内容,如果未能解决你的问题,请参考以下文章

一个网站用域名可以访问,用ip不能访问,是为啥?

网站外网可以正常访问,内网无法访问是啥原因?

网站ping域名和ping IP地址都可以Ping通,但为啥浏览器无法访问

为啥有的网站域名可以访问而IP不能访问

域名无法访问怎么办?是啥原因?

阿里云ecs服务器wamp内网可以访问,外网ip,域名无法访问