什么是HTTP协议

  1. HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议
  2. 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法
  3. 约束请求与响应的规则

    HTTP组成部分

    请求与响应都是成对存在的
    image.png

    请求的发送方式

  4. 通过浏览器的地址栏

  5. 通过html当中的form表单
  6. 通过a链接的href
  7. src属性

image.png

请求方式

8种请求类型

  1. OPTIONS

    返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性

  2. HEAD

    请求指定的页面信息,并返回头部信息

  3. GET

请求指定的页面信息,并返回实体主体

  1. POST

向指定资源提交数据进行处理请求

  1. PUT

    向指定资源位置上传其最新内容

  2. DELETE

请求服务器删除Request-URL所标识的资源

  1. TRACE

回显服务器收到的请求,主要用于测试或诊断

  1. CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

常用两种请求

GET

  • GET 方法向页面请求发送参数
  • 地址和参数信息中间用 ? 字符分隔
  • http://www.it666.com/hello?key1=value1&key2=value2
  • 查询字符串会显示在地址栏的URL中,不安全,请不要使用GET请求提交敏感数据
  • GET 方法有大小限制:请求字符串中最多只能有 1024 个字符
  • GET请求能够被缓存
  • GET请求会保存在浏览器的浏览记录中
  • 可以添加书签
  • 编码类型为application/x-www-form-urlencoded
  • 只允许ASCII字符类型,不能用二进制流
  • 点击刷新时,不会有反应
  • GET请求主要用以获取数据

    POST

  • POST 方法向页面请求发送参数

  • 使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器
  • 编码类型为:application/x-www-form-urlencoded or multipart/form-data. 请为二进制数据使用multipart编码
  • 没有历史记录
  • 参数类型没有限制,可以是字符串也可以是二进制流
  • 数据不会显示在地址栏中,也不会缓存下来或保存在浏览记录中,所以看POST求情比GET请求安全,但也不是最安全的方式。如需要传送敏感数据,请使用加密方式传输
  • 查询字符串不会显示在地址栏中
  • Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度限制,只能传递大约1024字节.
  • Post就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据