在《创建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中,网络编程主要涉及以下核心知识点: 1. **Socket编程**:Java的...
Java网络编程是开发分布式应用程序的关键技术,它涵盖了网络通信的基础概念和高级应用。...通过编写网络通信的示例程序,可以更好地理解和掌握网络编程的概念和技术,从而达到从入门到精通的目标。
这个“Java学习从入门到精通”教程覆盖了Java编程的各个方面,无论是初学者还是有一定经验的开发者,都能从中受益。通过深入学习和实践,你将能够熟练掌握Java编程,为未来的开发工作打下坚实的基础。
### JAVA网络编程从入门到精通知识点详解 #### 一、Internet地址概述 互联网中的每一台设备都需要有一个唯一的标识符——IP地址。当前广泛使用的IPv4地址由四个字节组成,而未来的趋势是采用16个字节的IPv6地址。 ...
《Java从入门到精通第四版》是一本旨在帮助初学者掌握Java核心技术的教材,通过实例教学的方式,使读者能够快速理解并上手编程。这本书的实例源程序包含了丰富的代码示例,涵盖了Java的基础语法、面向对象编程、异常...
【Java编程语言基础】 ...总结,本套"Java从入门到精通的课程PPT"涵盖了Java语言的基础概念、语法特性、核心结构以及进阶主题,通过PPT形式呈现,有助于学习者系统性地掌握Java编程,为实际开发打下坚实基础。
Java网络编程是开发基于互联网应用的关键技术之一,而理解Internet地址是网络编程的基础。本文将深入探讨IP地址的原理和应用,尤其是IPv4和IPv6这两种主要的IP地址类型。 首先,IP地址是互联网上每个设备独一无二的...
这份"java书籍从入门到精通.rar"压缩包文件显然包含了丰富的学习资源,旨在帮助初学者掌握Java技术,逐步成长为精通Java的专业开发者。下面将详细阐述Java的核心知识点,以及初学者在学习过程中可能遇到的重点。 1....
本教程“Java从入门到精通”旨在为初学者提供一条清晰的学习路径,帮助他们逐步掌握Java的核心概念和技术。 首先,入门阶段主要涉及Java的基础知识。这包括学习Java的历史背景、安装Java开发环境(如JDK)、理解...
通过《Java从入门到精通》第4版的PPT课件,学习者不仅可以深入理解上述知识点,还能掌握实际编程技巧和最佳实践,从而在Java编程的世界中游刃有余。此外,课件中的实例和练习题将帮助巩固理论知识,提高解决问题的...
从入门到精通不仅意味着学习一系列的命令和工具,还包括了解Linux的设计哲学、内核原理、硬件兼容性处理等更深层次的内容。只有通过系统地学习和实践,才能真正掌握Linux,成为一名合格的Linux用户和开发者。
19. **网络编程**:探讨网络通信,如TCP/IP套接字(socket)编程。 20. **进程与线程**:理解并发执行的概念,学习创建和管理进程以及线程。 21. **线程、协程**:了解异步编程,包括线程间的协作和协程...
Java的基础知识包括语法基础、面向对象编程以及高级编程接口,这些内容构成了Java开发入门到精通的核心。 **Java语法基础**是学习Java的第一步,涵盖了变量、数据类型、运算符、控制流(如if语句、for循环、while...
本教程“Java从入门到精通”旨在为初学者提供一个全面的学习路径,覆盖了从基础语法到高级特性的各个层面。以下是这个教程中涵盖的关键知识点: 1. **Java语法基础**:学习Java首先需要掌握基本的语法结构,包括...
在"Java SE6从入门到精通源代码"这个资源中,你将有机会接触到一系列与Java编程相关的源代码实例。这些实例涵盖了从基础概念到高级特性的广泛范围,可以帮助初学者快速理解并掌握Java编程语言。 1. **基础语法**:...
《Java从入门到精通(项目案例版)》是一本旨在帮助初学者系统学习并掌握Java编程语言的专业书籍。这本书通过丰富的项目案例,让读者在实践中理解并应用Java基础知识,从而达到精通的目的。提供的代码源文件是书中...
这个“Java课程课件 从入门到精通”涵盖了Java学习的核心内容,非常适合编程初学者。以下是根据提供的压缩包文件名称所涉及的知识点的详细说明: 1. **Lesson6 鞍合类(组合类)**: - 组合是面向对象编程中的一个...
《Java从入门到精通》是一本旨在帮助初学者掌握Java编程基础,并逐步提升至高级技术的书籍。配合PPT的学习资料,可以使得理论与实践结合得更为紧密,加深对知识的理解。 1. **Java简介** Java是由Sun Microsystems...