美文网首页
Http与Https请求与响应常识

Http与Https请求与响应常识

作者: Deck方 | 来源:发表于2024-01-02 21:11 被阅读0次

一、请求与响应

1、请求
//请求行
//method path HTTP version
GET /user?gender=male HTTP/1.1
Host:www.xxx.com//请求头相关
2、响应
//状态行
//HTTP version 状态码  状态信息
HTTP/1.1 200 OK
content-type:application/json;charset=utf-8//响应头相关
.......

//响应体 body
[{"name":"Bob","age":22}]

3、请求方法分类

a.GET 获取资源;没有body
b.POST 增加或者修改资源;有body
c.PUT 修改资源;有body
d.DELETE 删除资源;没有body
e.HEAD 与GET类似 但是这个请求服务器不会返回body

4、状态码
  • 1xx: 临时性消息
  • 2xx:成功
  • 3xx:重定向
  • 4xx:客户端错误
  • 5xx:服务端错误
5、Header

作用:HTTP消息的元数据

  • Host:服务器主机地址(但不是用来寻址的,寻址是DNS(domian name system)的事情)
  • Content-Type:内容的类型
    • text/html;charset=utf-8 文本,用于浏览器页面响应
    • application/x-www-form-urlencoded;charset=utf-8 普通表单, encoded URL格式
    @FormUrlEncoded
    @POST("user/edit")
    Call<User> updateUser(@Field("first_name") String   firstName,@Field("last_name") String lastName);
    
    • multipart/form-data;boundary=----Webkit********** 多不分形式,一般用于传输包含二进制内容的多项目内容
    @Multipart
    @PUT("user/photo")
    Call<User> updateUser(@Part("photo") RequestBody photo,@Part("description") RequestBody description);
    
    • application/json;charset=utf-8 JSON格式
    • image/jpeg jpeg图片的形式
  • Content-Length:body内容的长度(字节)
  • Tansfer-Encoding:chunked 表示Body长度无法确定,Content-Length不能使用
  • location:https://www.baidu.com 重定向地址是百度https://www.baidu.com
  • User-Agent:用户代理
  • Range:bytes=<start>-<end> 请求报文中出现,表示要取哪段数据。
    //图片总长度5000byte
    请求的时候加上Range:bytes=0-3000 则只获取到图片的一部分
    
  • Accept-Range:bytes 响应报文中出现,表示服务器支持按字节来取范围数据。
  • Content-Range:<start>-<end>/<total> 响应报文中出现,表示要发送的是哪段数据。
    Range、Accept-Range、Content-Range多用在断点续传、多线程下载。
  • 缓存相关的header
    • Cache-Control:no-cache(需要问一下服务端)、no-store(不需要缓存)、max-age(失效日期之前都可以使用缓存)
    • Last-Modified:
      • If-Modified-Since
    • Etag:相当于一个hash 服务端用于表示内容的指纹。如果Etag相同,这直接使用缓存,不相同则返回新的内容。
  • Accept: 客户端能接受的数据类型。如 text/html
  • Accept-Charset: 客户端接受的字符集。如 utf-8
  • Accept-Encoding: 客户端接受的压缩编码类型。如 gzip
  • Content-Encoding:压缩类型。如 gzip
    +Authorization:授权
    • Authorization:Basic xxxxxxxxx
    • Authorization:Bearer <bearer token>
      • OAuth2 第三方授权

相关文章

网友评论

      本文标题:Http与Https请求与响应常识

      本文链接:https://www.haomeiwen.com/subject/ugohndtx.html