HTTP协议知识点

Http协议
_1获取资源telnet(telnet ip/网址 port)输入命令如显示“ctrl+]”
注意:在给界面输入信息时不能出错,输入一个字符就会传送到服务器端, 在客户端进行修改虽然显示是正确的,但是传到服务器
后是错误的
_2在http1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源,1.1中在一个连接上获取多个web资源
注意web页面的优化,如img标签引用了三幅图片,每次加载一张图就会请求一次服务器,可以尽量减少图片的数量,即减少了请求数
_3Http请求:一个请求行,若干请求头,一个空行以及实体内容
__1请求行中GET称之为请求方式,常用的有GET、POST两种,get为默认,post方式可以通过表单action属性来设置,get和post都是在请求某个web资源,区别主要在数据传递上
__2请求头:
	Accept(告诉服务器客户机支持的数据类型)、
	Accept-Charset(用于告诉服务器,客户机采用的编码)、
	Accept-Encoding(用于告诉服务器,客户机支持的数据压缩格式)、
	Accept-Language(客户机的语言环境)、
	Host(客户机通过这个告诉服务器,想访问的主机名)、
	If-Modified-since(告诉服务器,资源的缓存时间点,当再次请求相同资源时,若请求时间点之后并未更新,就使用缓存)、
	Referer(客户机通多这个头告诉服务器,它是从哪个资源来访问服务器的(可以应用在防盗链上))、
	User-Agent(客户机通过这个头告诉服务器,客户机的软件环境(浏览器,操作系统等))、
	Cookie(客户机通过这个头向服务器带带过去一点数据)
	Connection(请求结束后是保持连接还是关闭连接)、
	date等
_4Http响应:一个状态行,若干消息头,一个空格,以及实体内容
__1状态行:Http请求,状态码(详细见文档),原因叙述,如HTTP/1.1 200 OK
__2响应头:
	Location:这个头配合302状态码使用,用于告诉客户找谁
		重定向:response.setStatus(302);response.setHeader("Location","path");
	Server:服务器通过这个头,告诉浏览器服务器的类型
	Content-Encoding:告诉浏览器数据的压缩格式
	Content-Length:告诉浏览器回送数据的长度
	Content-Type:告诉浏览器回送数据的类型(否则浏览器不知道如何才能进行对接收到的信息进行显示)
	Last-Modified:告诉浏览器当前资源缓存时间
	Refresh:告诉浏览器隔多久刷新一次
	Content-Disposition:告诉浏览器已下载方式打开数据
		response.setHeader("content-disposition","attachment;filename=1.jpg");
	Transfer-Encoding:告诉浏览器数据的传送格式
	ETag:缓存相关的头(服务器可以通过它比对内容是否改变)(modified只可以做到秒一级的,这个头则可以做到实时更新)
	Expires:告诉浏览器把回送的资源缓存多长时间,-1或0,则是不缓存
	Cache-Control:no-cache、Pragma:no-cache:这两个头,也是控制浏览器不要缓存数据
	Range
__3压缩格式的使用:
		String data = "aaaaaaaa";
		ByteArrayOutputStream bout = new ByteArrayOutputStream();
		GZIPOutputStream gout = new GZIPOutputStream(bout);
		gout.write(data.getBytes());
		gout.close();//一个将gout中的数据全部写入底层流的方式
		byte gzip[] =bout.toByteArray();//得到压缩后的数据
		//通知浏览器数据采用压缩格式
		response.setHeader("Content-Encoding","gzip");
		response.setHeader("Content-Length",gzip.length+"");
		response.getOutputStream().write(gzip);
__4Http实用头字段
Http请求头字段:
	Range头指示服务器只传输一部分Web资源。
	这个头可以用来实现断点续传的功能,三种格式:
		Range:bytes=1000-2000(传输范围从1000到2000字节)、
		bytes=1000-(第1000字节之后的所有)、
		bytes=1000(传输最后1000个字节)
Http响应消息头字段
	Accept-Ranges:这个字段说明Web服务器是否支持Range支持,支持返回Accept-Ranges:bytes否则none
	Content-Range:指定了返回资源的字节范围,如:Content-Range:1000-3000/5000(返回1000-3000个字节,共5000字节)


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值