http请求

http请求
其实这块的东西吧 我原本想把细节点写一遍后来想大概说关键点就行了,
总结一下关键点,复习的时候查一下就可以了,关键是平时工作中也可以总看到的东西,但是你可能不知道它属于什么范畴类的东西
 
http请求主要了解的几个点:
  1. 请求方式 就是GET HEAD PUT DELETE POST OPTIONS。多说一下:常用的一般是post、get,如果后端接口是Restful风格的话,会用到put、delete。其实我一直没怎么明白options预请求的理解(等会查查)
  2. 状态码:1xx 2xx 3xx 4xx 5xx 这几种开头的状态码 起码得分别知道一两种代表的意思吧。多说一下:200 也不一定接口没问题 200 代表后端接口给你正常返回了数据。一般后端定义接口返回值的时候会给你返回resCode、data、msg等这种字段(公司不同定义的接口返回的数据格式不一样)。这不一定哈,看后端怎么定义数据的返回格式。resCode后端可能会定义很多状态码代表不同情况(情况不同处理方式可能不同),这是根据自身业务来的啊。
  3. HTTP首部字段
    (1) 通用首部字段:请求和响应报文都会使用的首部
    通用首部字段详解:https://blog.csdn.net/qq_33301113/article/details/75676276
    (2) 请求首部字段:从客户端向服务器发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、相应内容相关优先级信息。
    请求首部字段详解:https://blog.csdn.net/qq_33301113/article/details/76766892
    (3) 响应首部字段:从服务器向客户端返回响应报文时使用的首部,补充了响应的附加信息,服务器信息,以及对客户端的附加要求等信息。
    响应首部字段详解:https://blog.csdn.net/qq_33301113/article/details/78080534
    (4) 实体首部字段:针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间与实体有关的信息。
    实体首部字段详解:https://blog.csdn.net/qq_33301113/article/details/78080539
 
补充:(结合上面HTTP请求->请求方式中提到的options请求的一点理解)
定义:HTTP的options方法用于获得目的资源所支持的通信选项。
简言之,options请求是用于请求服务器对于某些接口等资源的支持情况的,包括各种请求方法、头部的支持情况,仅作查询使用。
 
浏览器行为
这个概念听着有点耳生,我们可以把浏览器自主发起的行为称之为“浏览器级行为”。
之所以说options是一种浏览器级行为,是因为在”某些情况下“,普通的get或者post请求回首先自动发起一次options请求,
当options请求成功返回后,真正的ajax请求才会再次发起。
再来看下这个“某些情况下”都是什么情况?
  1. 跨域请求,非跨域请求不会出现options请求
  2. 自定义请求头
  3. 请求头中的content-type是application/x-www-form-urlencoded,multipart/form-data,text/plain之外的格式
OPTIONS请求即预检请求,可用于检测服务器允许的http方法。Response Headers中Access-Control-Allow-Methods会返回允许的请求方式。
当发起跨域请求时,由于安全原因,触发一定条件时浏览器会在正式请求之前自动先发起OPTIONS请求,即CORS预检请求,
服务器若接受该跨域请求,浏览器才继续发起正式请求。(相信不久的将来一定能在Chrome的F12的Network中看到options请求 哈哈哈)
 
原文地址:https://www.cnblogs.com/zhenjianyu/p/12965610.html