20.URL编码规则:
(1)将空格转换为加号(+);
(2)对0-9,a-z,A-Z之间的字符保持不变。
(3)对于所有其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个字节前加上一个百分号(%)。如字符"+"用+表示,字符"="用=表示,字符"&"用&表示,每个中文字符在内存中占有两个字节,字符"中"用��表示。
(4)对于空格也可以直接使用十六进制编码方式即用 表示,而不是将它转换成加号(+);
21.java.net包中提供了URLEncoder和URLDecoder这两个类,来实现URL编码和解码。
22.(1)基于HTTP 1.0协议的客户机与服务器的信息交换过程一次建立连接只能建立一个发送请求消息和响应就关闭连接了。而基于HTTP 1.1协议的客户机与服务器的信息交换过程只要建立连接就可以发送多个请求信息与响应,只有发出关闭连接请求后才关闭连接。
(2)一个完整的http请求消息包括:一个状态行、若干消息头、以及实体内容;且消息头与实体内容是可选的,并且它们之间要用空行隔开的,即使没有实体内容也要用空行表示消息头的结束。一个完整的HTTP响应消息和请求消息一样。消息头中消息描述":"后要用空格,如:server: Microsoft-IIS/5.0。
(3)需要了解以下几个消息头:
Connection:用于指定处理完本次请求/响应后,客户端与服务器是否继续保持连接。设置值可以为Keep-Alive和close。
Accept-Language:用于指出客户机期望服务器返回的文档所使用的国家语言,可以指定多个以逗号分隔的国家语言。
Content-Length:用于表示实体内容的长度(字节数).
Range:用于指定服务器只需返回文档中的部分内容及内容范围,有以下几个使用格式:
1)Range: bytes=100-599返回第100到599之间的内容包括100和599。
2)Range:bytes=100-返回第100个之后的所有内容。
3)Range: bytes=-100返回最后100个字节内容。
Content-Range:用于指定服务器返回的部分实体内容的位置信息,例如:Content-Range: bytes 2543-4532/7898。bytes为返回的类型,2543-4532为返回的是从2543-4532的实体内容,7898为实体内容总字节数。
4)HTTP请求消息在命令行中输入如:
telnet www.google.com 80
GET / HTTP/1.1(为返回主页)
Host:
Accept-Language: zh-cn,ar-bh
Connection: close
(此处空行记住)
|
|