一、关于HTTP的8种请求方式简介

1.GET:向特定资源发送请求,查询数据2.POST:向指定的资源,提交数据进行处理请求,有可能创建或修改已有数据3.HEAD:和Get请求相一致,只不过不会返回响应体,这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。(用于获取报头)4.OPTIONS:返回服务器对特定资源所支持的http的请求,可以用来向Web服务器发送请求来测试服务器的功能性5.PUT:向指定资源位置上传最新的内容6.DELETE:请求服务器删除Request-URI所标识的资源7.TRACE:回显服务器收到的请求,主要用于测试或诊断8.CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

  • options:

http请求基础知识_客户端

你是否经常看到这种跨域请求错误?

这是因为服务器不允许跨域请求,这里会深入讲一讲OPTIONS请求。

只有在满足一定条件的跨域请求中,浏览器才会发送OPTIONS请求(预检请求)。这些请求被称为“非简单请求”。反之,如果一个跨域请求被认为是“简单请求”,那么浏览器将不会发送OPTIONS请求。


简单请求需要满足以下条件:

  1. 只使用以下HTTP方法之一:GET、HEAD或POST。
  2. 只使用以下HTTP头部:Accept、Accept-Language、Content-Language、Content-Type。
  3. Content-Type的值仅限于:application/x-www-form-urlencoded、multipart/form-data或text/plain。

如果一个跨域请求不满足以上所有条件,那么它被认为是非简单请求。对于非简单请求,浏览器会在实际请求(例如PUT、DELETE、PATCH或具有自定义头部和其他Content-Type的POST请求)之前发送OPTIONS请求(预检请求)。


二、POST和GET,来说下这两种方式的区别

1.GET是从服务器上获取数据,POST是向服务器传送数据。

2.在客户端,GET方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放在HTML HEADER内提交。

3.对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器用Request.Form获取提交的数据。

4.GET方式提交的数据不能大于2KB(主要是URL长度限制),而POST则没有此限制。

5.安全性问题。正如2中提到,使用GET的时候,参数会显示在地址栏上,而POST不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用GET;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用POST为好


三、HTTP请求头有哪些信息

1、Host:指定目标服务器的主机名或IP地址。

3、User-Agent:指定客户端使用的浏览器或其他应用程序的信息。

4、Accept:指定客户端能够接受的MIME类型。

5、Accept-Language:指定客户端首选的自然语言。

6、Accept-Encoding:指定客户端能够接受的编码方式,例如gzip、deflate等。

7、Connection:指定客户端与服务器之间使用的连接类型,例如keep-alive或close。

8、Content-Type:指定请求体的MIME类型,例如application/json、application/x-www-form-urlencoded

9、Content-Length:指定请求体的长度,以字节为单位。

10、Referer:指定请求的来源URL,用于告诉服务器用户从哪个页面跳转到当前页面。

11、Authorization:指定请求的认证信息,例如用户名和密码或访问令牌。

12、Cookie:指定请求的Cookie信息,用于跟踪用户会话。

13、If-Modified-Since:指定上次请求资源的时间,服务器可以根据该头部判断资源是否已经被修改过。

14、charset:字符集,一般是UTF-8

15、Accept-Ranges:指定服务器是否支持分段下载,例如bytes。

16、Range:指定客户端请求的资源范围,用于实现分段下载或断点续传。

17、Cache-Control:指定请求或响应的缓存策略,例如max-age、no-cache、no-store等