http协议概述


1.http1.0与http1.1区别

  HTTP1.0---客户端与web服务器建立连接后,只能获得一个WEB资源。

  HTTP1.1----允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。


2.一个完整的HTTP请求包括:一个请求行,若干请求头,以及实体内容:


  请求方式GET:

      Z则可以在请求的URL地址后以的形式带上交给服务器的数据,多个数据之间用&进行分隔。

      http://index.html?name=xxx & pwd=xxx HTTP/1.1

      特点:在URL地址上附带的参数是有限制的,数据容量不超过1K

  请求方式POST:

    可以在请求的实体内容中向服务器发送数据。传送数据量无限。


3.http请求头详解:

Accept: 用于告诉服务器,客户机支持的数据类型
Accept:text/html,image/*,*/*--表示什么都支持。

Accept-Charset:客户机采用的编码
Accept-Charset:iso-8859-1,utf-8,gbk

Accept-Encoding:客户机支持的数据压缩格式
Accept-Encoding: gizp, compress

Accept-Language: 客户机语言环境
Accept-Language: en-us, zh-cn

Host: 客户机告诉服务器,想访问的主机名。
Host: localhost,192.168.xxxx

-------
If-Modified-Since: 客户机通过这个头告诉服务器,资源缓存时间
If-Modified-Since:

-------
Referer: 客户机告诉服务器,从哪个资源来访问服务器的。防盗链
Referer:www.loogle.com?xxx

------
User-Agent:告诉服务器,客户机的软件环境
User-Agent: Mozilla/4.0(Windows NT 5.0

----
Connection :请求完是保存或关闭链接。
Connection : close(关闭,Keep-Alive(保存)

-----
Date:当前时间



4.HTTP响应头详解:

HTTP/1.1 200 OK ----状态行

Server: Microsoft-IIS/5.0
Date : 2016 00:00:00
Content-Langth: 2291     -----多个消息头
Content-Type: text/HTML
Cache-control: private

                             -----一个空行
<html>
 -----------------------实体内容
</html

Location : 配合302使用,告诉用户找谁。
Server: 告诉浏览器服务器的类型。
Content-Encoding: 数据的压缩格式
Content-Length: 浏览器返回的数据长度
Content-Type: 浏览器返回的数据类型。

Expires: -1/0 则是不缓存。
Cache-Control:on-cache
Pragma:on-cache  
以上告诉浏览器不需要数据缓存。
5.
http:请求头字段。
  Range(断点下载)头指示服务器只传输一部分web资源,
:
   Range: bytes=1000-2000传输范围1000到2000
   Range: bytes=1000- 第1000个字节后的所有内容
  Range: bytes=1000 传输最后1000个字符。

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class RangeTest {
	public static void main(String[] args) throws Exception {
		
		URL url=new URL("http:///index/admin.txt");
		
		HttpURLConnection conn=(HttpURLConnection) url.openConnection();//打开资源。
		
		conn.setRequestProperty("Range", "bytes=5-");//设置Range头
		
		InputStream in=conn.getInputStream();//读取数据
		int len=0;
		byte buffer[]=new byte[1024];
		FileOutputStream out=new FileOutputStream("c:\\admin.txt", true);//true表示接着后面写。
		
		while((len=in.read(buffer))>0){
			out.write(buffer, 0, len);
		}
		in.close();
		out.close();
	}
}


HTTP响应头字段:
 Accept-Range: 服务器是否支持Range,支持返回
     Accept-Range:bytes,不支持返回 Accept-Range:none
 Content-Range:指定字节范围:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值