`
xangqun
  • 浏览: 82622 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

Java网络编程从入门到精通(3):为什么不能直接通过IP访问网站

阅读更多
在《创建InetAddress对象的四个静态方法》一文中通过getAllByName得到了www.csdn.net对应的四个IP地址。从理论上说,在IE(或其他的Web浏览器,如Firefox)的地址栏中输入这四个IP地址中的任何一个,都可能访问www.csdn.net。如输入http://211.100.26.124。但IE却返回了一个错误信息。在输入另外三个IP后,都会得到同样的错误信息。

这个错误并不是网页未找到错误(HTTP状态号:404),而是拒绝访问错误(HTTP状态号:403)。当在地址栏中再输入http://www.csdn.net,仍然可以访问这个网站。从以上种种迹象表明这并不客户端的问题,而是服务端对此做了限制。

在HTTP协议(这个协议会在下一章详细讲解)的请求头有一个Host字段,一般通过http://www.csdn.net访问服务器时,Host的值就是www.csdn.net。如果是http:// 211.100.26.124,那么Host的值就是211.100.26.124。因此,我们可以推断,www.csdn.net的服务器通过检测Host字段防止客户端直接使用IP进行访问。目前有很多网站,如www.sina.com.cn、www.126.com都是这样做的。有一些网站虽然未限制用IP地址来访问,但在使用IP地址访问网站时,却将IP地址又重定位到相应的域名上。如输入http://141.146.8.66会重定位到http://www.oracle.com/index.html上,输入http://129.42.60.212会重定位到http://www.ibm.com/us/上。

通过ping命令也可以得到一个域名的IP地址,如果域名绑定有之个IP地址,DNS就随机返回一个IP地址。如在控制台输入下面的命令:

ping www.csdn.net
    返回结果

Reply from 211.100.26.122: bytes=32 time=31ms TTL=48
Reply from 211.100.26.122: bytes=32 time=35ms TTL=48

    上面的返回结果中的IP地址就是《创建InetAddress对象的四个静态方法》一文中MyInetAddress3在测试1中所得到的第三个IP地址。

分享到:
评论

相关推荐

    Java网络编程从入门到精通

    本教程"Java网络编程从入门到精通"旨在帮助初学者和有经验的开发者深入理解这一领域,从基础知识到高级主题,提供了一套全面的学习资源。 在Java中,网络编程主要涉及以下核心知识点: 1. **Socket编程**:Java的...

    java 网络编程从入门到精通

    Java网络编程是开发分布式应用程序的关键技术,它涵盖了网络通信的基础概念和高级应用。...通过编写网络通信的示例程序,可以更好地理解和掌握网络编程的概念和技术,从而达到从入门到精通的目标。

    java学习从入门到精通教程(pdf)

    这个“Java学习从入门到精通”教程覆盖了Java编程的各个方面,无论是初学者还是有一定经验的开发者,都能从中受益。通过深入学习和实践,你将能够熟练掌握Java编程,为未来的开发工作打下坚实的基础。

    JAVA网络编程从入门到精通

    ### JAVA网络编程从入门到精通知识点详解 #### 一、Internet地址概述 互联网中的每一台设备都需要有一个唯一的标识符——IP地址。当前广泛使用的IPv4地址由四个字节组成,而未来的趋势是采用16个字节的IPv6地址。 ...

    java从入门到精通第四版课本实例源程序

    《Java从入门到精通第四版》是一本旨在帮助初学者掌握Java核心技术的教材,通过实例教学的方式,使读者能够快速理解并上手编程。这本书的实例源程序包含了丰富的代码示例,涵盖了Java的基础语法、面向对象编程、异常...

    Java从入门到精通的课程PPT

    【Java编程语言基础】 ...总结,本套"Java从入门到精通的课程PPT"涵盖了Java语言的基础概念、语法特性、核心结构以及进阶主题,通过PPT形式呈现,有助于学习者系统性地掌握Java编程,为实际开发打下坚实基础。

    Java网络编程从入门到精通(1):Internet地址概述 所有连入Internet的 ....doc

    Java网络编程是开发基于互联网应用的关键技术之一,而理解Internet地址是网络编程的基础。本文将深入探讨IP地址的原理和应用,尤其是IPv4和IPv6这两种主要的IP地址类型。 首先,IP地址是互联网上每个设备独一无二的...

    java书籍从入门到精通.rar

    这份"java书籍从入门到精通.rar"压缩包文件显然包含了丰富的学习资源,旨在帮助初学者掌握Java技术,逐步成长为精通Java的专业开发者。下面将详细阐述Java的核心知识点,以及初学者在学习过程中可能遇到的重点。 1....

    Java从入门到精通.PPT.rar

    本教程“Java从入门到精通”旨在为初学者提供一条清晰的学习路径,帮助他们逐步掌握Java的核心概念和技术。 首先,入门阶段主要涉及Java的基础知识。这包括学习Java的历史背景、安装Java开发环境(如JDK)、理解...

    《Java从入门到精通》第4版全书完整PPT课件

    通过《Java从入门到精通》第4版的PPT课件,学习者不仅可以深入理解上述知识点,还能掌握实际编程技巧和最佳实践,从而在Java编程的世界中游刃有余。此外,课件中的实例和练习题将帮助巩固理论知识,提高解决问题的...

    linux从入门到精通

    从入门到精通不仅意味着学习一系列的命令和工具,还包括了解Linux的设计哲学、内核原理、硬件兼容性处理等更深层次的内容。只有通过系统地学习和实践,才能真正掌握Linux,成为一名合格的Linux用户和开发者。

    Python教程入门到精通:千锋Python语法基础学习视频教程.pdf

    19. **网络编程**:探讨网络通信,如TCP/IP套接字(socket)编程。 20. **进程与线程**:理解并发执行的概念,学习创建和管理进程以及线程。 21. **线程、协程**:了解异步编程,包括线程间的协作和协程...

    java基础 Java开发入门到精通PPT课件 共353页.ppt

    Java的基础知识包括语法基础、面向对象编程以及高级编程接口,这些内容构成了Java开发入门到精通的核心。 **Java语法基础**是学习Java的第一步,涵盖了变量、数据类型、运算符、控制流(如if语句、for循环、while...

    java从入门到精通教程

    本教程“Java从入门到精通”旨在为初学者提供一个全面的学习路径,覆盖了从基础语法到高级特性的各个层面。以下是这个教程中涵盖的关键知识点: 1. **Java语法基础**:学习Java首先需要掌握基本的语法结构,包括...

    java SE6从入门到精通源代码

    在"Java SE6从入门到精通源代码"这个资源中,你将有机会接触到一系列与Java编程相关的源代码实例。这些实例涵盖了从基础概念到高级特性的广泛范围,可以帮助初学者快速理解并掌握Java编程语言。 1. **基础语法**:...

    Java从入门到精通(项目案例版)【代码源文件】

    《Java从入门到精通(项目案例版)》是一本旨在帮助初学者系统学习并掌握Java编程语言的专业书籍。这本书通过丰富的项目案例,让读者在实践中理解并应用Java基础知识,从而达到精通的目的。提供的代码源文件是书中...

    java 课程课件 从入门到精通

    这个“Java课程课件 从入门到精通”涵盖了Java学习的核心内容,非常适合编程初学者。以下是根据提供的压缩包文件名称所涉及的知识点的详细说明: 1. **Lesson6 鞍合类(组合类)**: - 组合是面向对象编程中的一个...

    java从入门到精通 书籍ppt

    《Java从入门到精通》是一本旨在帮助初学者掌握Java编程基础,并逐步提升至高级技术的书籍。配合PPT的学习资料,可以使得理论与实践结合得更为紧密,加深对知识的理解。 1. **Java简介** Java是由Sun Microsystems...

Global site tag (gtag.js) - Google Analytics