网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.讲述Java初学者必须要了解的两个.
.一个java正规表达式工具类.
.JavaCC的安装.
.Maven Goal !.
.在Java中应用设计模式-Factory M.
.容易忽视的Java三用法小议.
.Linux下的多线程编程.
.strike 方法.
.robbin 的 HttpSession 总结.
.如何给 Log4j 配上数据库连接池.
.ProcessBuilder调用外部命令 并返.
.[原创] Java数据库字符国际化.
.用Java实现自动在数据库表中生成.
.改写的基于SWING的日期选择控件.
.使用Java 1.2的Authenticator 类.
.秉承Java思路 开发易于移植的J2M.
.怎样用Java的加密机制来保护你的.
.垃圾!.
.Classworking工具箱:反射泛型.
.JAVA初学建议.

Java网络编程之URI、URL研究专题一(图)

发表日期:2008-1-5



  URI、URL和URN是识别、定位和命名互联网上的资源的标准途径。本文分析了URI、URL和URN和Java API的URI和URL类(以及与URL相关的类),并演示了如何在程序中使用这些类。
  
  1989年Tim Berners-Lee发明了互联网(World Wide Web)。WWW被认为是全球互连的实际的和抽象的资源的集合--它按需求提供信息实体--通过互联网访问。实际的资源的范围从文件到人,抽象的资源包括数据库查询。
  
  因为要通过多样的方式识别资源(人的名字可能相同,然而计算机文件只能通过唯一的路径名称组合访问),所以需要标准的识别WWW资源的途径。为了满足这种需要,Tim Berners-Lee引入了标准的识别、定位和命名的途径:URI、URL和URN。
  
  URI、URL和URN是什么?
  
  体系中的URI、URL和URN是彼此关联的。URI的范畴位于体系的顶层,URL和URN的范畴位于体系的底层。这种排列显示URL和URN都是URI的子范畴,如图1所示:
  
Java网络编程之URI、URL研究专题一(图)

  图1:URI、URL和URN之间的层次关系。URL和URN是URI的子范畴
  
  URI表示的是统一的资源标识,它是以某种统一的(标准化的)方式标识资源的简单字符串。典型情况下,这种字符串以scheme(命名URI的名字空间的标识符--一组相关的名称)开头,语法如下:
  
  [scheme:] scheme-specific-part
  
  URI以scheme和冒号开头。Scheme用大写/小写字母开头,后面为空或者跟着更多的大写/小写字母、数字、加号、减号和点号。冒号把scheme与scheme-specific-part分开了,并且scheme-specific-part的语法和语义(意思)由URI的名字空间决定。
  
  其中一个例子是http://www.cnn.com,其中http是scheme,//http://www.cnn.com是 scheme-specific-part,并且它的scheme与scheme-specific-part被冒号分开了。
  
  我们可以把URI按照绝对的或相对的分类。绝对的URI指以scheme(后面跟着冒号)开头的URI。前面提到的http://www.cnn.com就是绝对的URI的一个例子,其它的例子还有mailto:jeff@javajeff.com、news:comp.lang.java.help和xyz://whatever。你可以把绝对的URI看作是以某种方式引用某种资源,而这种方式对标识符出现的环境没有依靠。
  
  假如使用文件系统作类比,绝对的URI类似于从根目录开始的某个文件的路径。与绝对的URI不同的,相对的URI不是以scheme(后面跟着冒号)开始的URI。
  
  它的一个例子是articles/articles.Html。你可以把相对的URI看作是以某种方式引用某种资源,而这种方式依靠于标识符出现的环境。假如用文件系统作类比,相对的URI类似于从当前目录开始的文件路径。
  
  URI可以进一步分为不透明的和分层的两类。不透明的URI指scheme-specific-part不是以正斜杠(/)开头的绝对的URI。
  
  其例子有news:comp.lang.java和前面的mailto:jeff@javajeff.com。不透明的URI并不是用于分解的(超出了识别scheme的范畴),因为不需要验证scheme-specific-part的有效性。与它不同的是,分层的URI可以是以正斜杠开头的绝对的URI或相对的URL。
  
  与不透明的URI不同,分层的URI的scheme-specific-part必须被分解为几个组成部分。这些组成部分是什么?分层的URI标识组件的普通子集的scheme-specific-part符合下面的语法:
  
  [//authority] [path] [?query] [#fragment]
  
  可选的authority组件标识了该URI名字空间的命名机构。假如有这一部分,它就是以一对正斜杠开始的,它可以是基于服务器或基于注册的,并且它以后面的正斜杠、问号或没有其它符号结束。基于注册的授权机构组件有特定大纲的语法(本文没有讨论,因为很少使用它),而基于服务器的授权机构组件的语法如下:
  
  [userinfo@] host [:port]
  
  按照这种语法,基于服务器的授权机构组件可以随意的以用户信息(例如用户名)开始,后面跟着一个@符号,紧接着是主机的名称,以及冒号和端口号。例如jeff@x.com:90就是一个基于服务器的授权机构组件,其中jeff包含了用户信息,x.com包含了主机,90包含了端口。
  
  可选的path组件根据授权机构组件(假如提供了)或大纲(假如没有授权机构组件)识别资源的定位(或位置)。路径(path)可以分成一系列的路径片断(path segment),每个路径片断使用正斜杠与其它的路径片断隔开。
  
  假如路径的第一个路径片断以一个正斜杠开始,该路径就被认为是绝对的。否则路径就被认为是相对的。例如,/a/b/c由三个路径片断--a、b和c组成了一个路径,此外,这个路径是绝对的,因为第一个路径片断(a)的前缀是正斜杠。
  
  可选的query组件识别要传递给某种资源的数据。这种资源使用该数据获取或生成其它的传递回调用者的数据。例如,http://www.somesite.net/a?x=y, x=y就是一个查询(query),在这个查询中,x=y是传递给某种资源的数据--x是某种实体的名称,y是该实体的值。
上一篇:Java Socket网络编程初级入门 人气:662
下一篇:Java网络编程之URI、URL研究专题二 人气:592
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐