HTTP基础

一次配置,终身使用

HTTP到底是什么

两种最直观的印象

浏览器输入地址,打开网页

Android中发送网络请求,返回对应内容

HyperText Transfer Protocol 超文本传输协议

超文本:在电脑中显示,含有可以指向其他文本的连接的文本

HTTP工作方式

报文

  1. URL->HTTP报文

  2. 请求报文格式

    image-20211222171357108

  3. 响应报文格式

    image-20211222172439315

常用请求方法

  • GET

    获取资源,没有body

  • POST

    增加或修改资源,有body

  • PUT

    修改资源 有body

  • DELETE

    修改资源 无body

  • HEAD

    跟GET一样,但是响应无body,例如下载之前先获取大小,支不支持断电续传 分段下载

状态码

  • 1xx: 临时性消息
  • 2xx: 成功
  • 3xx: 重定向 301永久迁移 302临时迁移
  • 4xx: 客户端错误 401未授权 404 not found
  • 5xx: 服务器错误

作用:HTTP消息的元数据(metadata)

  1. Host:服务器主机地址

  2. Content-Length:内容的长度(字节)

  3. Content-type:内容的类型

    • text/html: html文本,用于浏览器页面响应

    • application/x-www-form-urlencoded:普通表单,encoded URL格式

    • multipart/form-data 多格式部分,一般用于传输包含二进制内容的多项内容

    • application/json json形式,用于web api 或post put请求

    • image/jpeg 单文件,用于web api响应或post、put请求

    • Chunked Transfer Encoding

      Transfer-Encoding:chunked

      表示body长度无法确定 ,在服务器还未获取到完整内容时,更快对客户端做出响应,减少用户等待

  4. Location :重定向的目标URL

  5. User-Agent:用户代理

  6. Accept-Ranges :分段加载

  7. cache

REST ful HTTP