javaweb笔记2

请求(Request)
一个完整的HTTP请求包括:一个请求行、若干请求头、以及实体内容

请求头字段
Accept:用于告诉服务器,客户机支持的数据类型
Accept-Charset:用于告诉服务器,客户机采用的编码
Accept-Encoding:用于告诉服务器,客户机支持数据压缩格式
Accept-Language:客户机的语言环境
Host:客户机通过这个头告诉服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Refer:客户机通过这个头告诉服务器,它是从哪个资源访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
Cookie:客户机通过这个头向服务器带数据
Connection:这个请求完了,是保持连接还是关闭
Range:断点下载
bytes=n1-n2,传输范围n1到n2字节
bytes=n-,传输web资源中第n个字节以后的所有内容
bytes=n,传输最后n个字节
响应(Response)
一个HTTP响应代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容

响应状态行


详情可参考

HTTP 状态消息

响应头字段
Location:这个头配合302状态码使用,用于告诉客户机找谁(location和302实现请求重定向)
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:服务器通过这个头,数据的压缩格式
(相关java知识:GZIPOutputStream,包装流/底层流)
Content-Length:服务器通过这个头,告诉浏览器回送数据的长度
Content-Type:服务器通过这个头,告诉浏览器回送数据的类型
Last-Modified:服务器通过这个头,告诉浏览器当前资源的缓存时间
Refresh:服务器通过这个头,告诉浏览器隔多长时间刷新一次
Content-Disposition:服务器通过这个头,告诉浏览器以下载方式打开
Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传送格式
Etag:缓存相关的头部,用于实时性要求高的系统
Expires:服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0则不缓存
Cache-Control和Pragma:no-cache,服务器通过这两个头,也是控制浏览器不要缓存数据
Connection:断开连接/保持连接
Date:当前时间
Accept-Ranges:用来说明web服务器是否支持range。支持返回bytes;不支持返回none
Content-Range:制定了返回web资源的字节范围,格式:n1-n2/n_total

posted @ 2022-02-25 08:17  好(justice)……  阅读(20)  评论(0编辑  收藏  举报