网络编程 二

2   访问Internet网络资源
        java.net
包中还有URLURLDecoderURLEncoderURLConnectionHttpURLCcnnection等类。
 
URLUniform Resource Locator) 统一资源定位符:
   URL的基本组成:协议、主机名、端口号、资源名。
   相对URl,例如”./a.html”,”../../a.html”,”a.html”.
   URL的编码规则:
           --将空格转换成为加号(+);
           --0-9a-zA-Z之间的字符保持不变;
           --对于所用其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个字节前加上一个百分号(%)。如字符“+”用%2B表示,字符“=”用%3D表示,字符“&”用%26表示,每个中文字符在内存中占两个字节,字符“中”用%D6%D0表示, 字符“国”用%B9%FA表示;
        Java.net包中提供了URLEncoderURLDecoder这两个类,来实现URL编码和解码。
HTTP协议的会话过程:
 
基于HTTP1.0协议的客户机与服务器的信息交换过程:
基于HTTP1.1协议的客户机与服务器的信息交换过程:
     HTTP请求消息
一个完整的请求消息包括:一个请求行、若干消息头、以及实体内容。例如:
GET /artiles/news/todays.asp HTTP/1.1
Accept: */*
Accept-Language: en-us
Connection: Keep-Alive
Host: localhost
Refere:  http://localhost/link.asp
User-Agen Mozilla/4.0(compatible;MSIE 5.5;Windows NT 5.0)
Accept-Encoding: gzip,deflate
HTTP 响应消息
一个完整的响应消息包括:一个状态行、若干消息头、以及实体内容。例如:
HTTP1.1 200 OK
Server: Microsoft-IIS/5.0
Date: THU,13,Jul,2000 05:46:53 GMT
Content-Length: 2291
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGGGNCG=LKLDDDKCINFLDMFHCBCMFLJ;path=/
Cache-control: private
 
<html>
<body> 
 
… …
了解几个HTTP消息头
            Connection:用于指定处理完本次请求/响应后,客户端与服务器是否连续保持连接。设置值可以为Keep-Aliveclose
   Accept-Language:用于指出客户机期望服务器返回的文档所使用的国家语言,可以指定多个以逗号分隔的国家语言。
Content-Length:用于表示实体内容的长度(字节数)。
                      Range:用于指定服务器只需返回文档中的部分内容及内容范围,有一下几种使用格式:
1)Range: bytes=100-599
2)Range: bytes=100-
3)Range: bytes=-100      
                       Content-Range:用于指定服务器返回的部分实体内容的位置信息,例如:
                       Content-Range: bytes 2543-4532/7898
UPL:
               构造函数(都可以引发MaformedURLExceptin异常)
                       public URL(String spec)
public URL(String protocol,String host,int port,String file)
public URL(String protocol,String host,int port,String file,URLStreamHandler handler)
public URl(URL context,String spec)
               方法:getProtocolgetHostgetPortgetFile等方法。
               openConnection方法返回URLConnection对象。
工厂设计模式:
               工厂设计模式的工作原理:
                       
               
     URL类的setURLStreamHandlerFactory(URlStreamHandlerFactory fac)静态方法。
     URLStreamHandlerFactory类的createURlStreamHandler(String protocol)方法。
URLConnectionHttpURLConnection类:
               URLConnection的连接过程。
               setRequestProperty方法。
               getHeaderFields方法。
               getInputStreamgetOutputStream方法。
               getHeaderFieldgetContentLengthgetContentEnocodinggetContentType等方法。
               一个HTTP连接可以被多个HttpURlConnectin实例对象共享,调用HttpURLConnectiondisconnect方法可以关闭地城共享网络。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值