HTTP协议简介
Posted mabaoqing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议简介相关的知识,希望对你有一定的参考价值。
HTTP协议:
请求行:请求方式、请求的资源文件、协议版本
请求体:
请求头:
- Accept:告诉服务器,客户机支持得数据类型
- Accept-Charset:客户机采用的编码
- Accept-Encoding:客户机支持的数据压缩格式
- Accept-Language:客户机的语言环境
- Host:想访问的主机名
- If-Modified-Since:资源的缓存时间
- Referer:客户机从那个资源访问服务器(防盗链)
String referer = request.getHeader("referer");
if(referer == null || !referer.startsWith("http://localhost")){
response.sendRedirect("/MyServlet/index.jsp");
return;
}
- User-Agent:客户机的软件环境
- Cookie:向服务器带数据
? 状态行:协议版本、状态码、描述(302重定向,304/307使用缓存)
? 响应体:
响应头:
Location:配合302状态码使用,用于重定向
- response.setStatus(302);
- response.setHeader("location", url);
Server:服务器通过这个头,告诉浏览器服务器的类型
Content-Encoding:数据的压缩格式
- response.setHeader("Content-Encoding", "gzip");
Content-Length:回送数据的长度
- response.setHeader("Content-Length", "length");
Content-Type:回送数据的类型
- response.setContentType("application/x-msdownload"); //这是一个需要下载的文件
Last-Modified:告诉浏览器当前资源缓存时间
Refresh:告诉浏览器多久刷新一次
response.setHeader("refresh", "3;url='index.jsp'");
String message = "<meta http-equiv='refresh' content='3;url=/MyServlet/index.jsp'> <br>3s后跳转,若无,请点击<a href=''>跳转</a>";
this.getServletContext().setAttribute("message", message);
Content-Dispostion:数据处理方式
- response.setHeader( "content-disposition", "attachment;filename=" +1.txt ); //手动处理是否下载
Expires:告诉浏览器把回送的资源缓存多长时间,-1或0表示不缓存
Cache-Control:no-cache
Pragma:no-cache
以下是三种禁止所有浏览器缓存数据的方式
- response.setHeader("Cache-Control", "no-store"); //HTTP1.1
- response.setHeader("Pragma", "no-cache"); //HTTP1.0
- response.setDateHeader("Expires", 0); //prevents catching at proxy server
以上是关于HTTP协议简介的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段