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(代码片段

docker 简介

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

HTTP协议与WEB框架简介

怎么用http协议实现安卓数据