访问Internet网络资源java.net包中还有URL、URLDecoder、URLEncoder、URLConnection、HttpURLConnection等类。
本节讲解的内容:·URL(统一资源定位符)·HTTP协议·URL类·工厂设计模式·URLConnection和HttpURLConnection类
URL(Uniform Resource Locator)·URL的基本组成:协议、主机名、端口号、资源名。例如,http://www.it315.org:8080/index.htmlhttp协议的默认端口是80·相对URL,例如"/a.html"、"./a.html"、"../..a.html"、"a.html"。"./a.html"的形式表示的意思与"a.html"的形式是一样的,都是表示资源当前目录下的文件。·URL编码规则: -将空格转换为加号(+) -对0-9,a-z,A-Z之间的字符保持不变。 -对于所有其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示, 并在每个字节前加上一个百分号(%)。如字符“+”用2B表示,字符“=”用%3D表示, 字符“&”用%26表示,每个中文字符在内存中占两个字节,字符“中”用%D6%D0表示, 字符“国”用%B9%FA表示。 -对于空格也可以直接使用十六进制编码方式,即用%20表示,而不是将它转换成加号(+)。·java.net包中提供了URLEncoder和URLDecoder这两个类,来实现URL编码和解码。
HTTP协议的会话过程基于HTTP1.0协议的客户机与服务器的信息交换过程客户机 服务器 建立连接--------> 发送请求信息----> 发出相应信息<---- 关闭连接<--------基于HTTP1.1协议的客户机与服务器的信息交换过程客户机 服务器 建立连接-------> 发出第1次请求--> ... ... 发出第n次请求--> 发出第1次响应<-- ... ... 发出第n次响应<-- 发出关闭连接请求--> 关闭连接<-------HTTP请求消息一个完整的请求消息包括:一个请求行、若干消息头、以及实体内容。例如:GET /articles/news/today.asp HTTP/1.1Accept:*/*Accept-Language:en-usConnection:Keep-AliveHost:localhostReferer:http://localhost/links.aspUser-Agent:Mozilla/4.0(compatible;MSIE5.5;Windows NT 5.0)Accept-Encoding:gzip,deflateHTTP响应消息一个完整的响应消息包括:一个状态行、若干消息头、以及实体内容。例如:HTTP/1.1 200 OKServer:Microsoft-IIS/5.0Date:Thu,13Jul 2000 05:46:53 GMTContent-Length:2291Content-Type:text/htmlSet-Cookie:ASPSE SSIONIDQQGGGNCG=LKLDFFKCINFLDMFHCBCBMFLJ;path=/Cache-control:private
<HTML><BOOY>... ...