一、HTTP 1.1的请求方式:
序号 | 请求方法 | 作用 |
---|---|---|
1 | GET | 从服务器获取资源,不对资源进行修改 |
2 | POST | 向服务器发送数据来创建资源,主要是表单和文件,数据包含在请求体中 |
3 | PUT | 向服务器发送数据以更新现有资源。如果资源不存在,则创建新的资源。与 POST 不同,PUT 通常是幂等的,即多次执行相同的 PUT 请求不会产生不同的结果 |
4 | DELETE | 从服务器删除指定的资源。请求中包含要删除的资源标识符 |
5 | PATCH | 对资源进行部分修改。与 PUT 类似,但 PATCH 只更改部分数据而不是替换整个资源 |
6 | HEAD | 类似于 GET,但服务器只返回响应的头部,不返回实际数据。用于检查资源的元数据(例如,检查资源是否存在,查看响应的头部信息) |
7 | OPTIONS | 返回服务器支持的 HTTP 方法。用于检查服务器支持哪些请求方法,通常用于跨域资源共享(CORS)的预检请求 |
8 | CONNECT | 建立一个到服务器的隧道,通常用于 HTTPS 连接。客户端可以通过该隧道发送加密的数据 |
二、302重定向:又称之为暂时性转移(Temporarily Moved ), 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。
序号 | 方法 | 特点 |
---|---|---|
1 | Location.href | 浏览器地址直接跳转接口,默认采用Get请求,不存在跨域问题,浏览器也可以直接跟随后端产生的302重定向 |
2 | Form表单 | 通过刷新整个页面进行访问请求,可使用Get/Post方法,也可以跟随后端进行的302跳转,缺点是需要新建一个表单,操作比较复杂 |
3 | Nvigator.sendBeacon | navigator.sendBeacon() 方法可用于通过 HTTP POST 将少量数据异步传输到 Web 服务器。同时避免了用传统技术(如:XMLHttpRequest)发送分析数据的一些问题。缺点是仅支持POST请求,以及是异步操作,也不跟随后端302 |
三、cookie:
cookie 提供了一种在 Web 应用程序中存储用户特定信息(如历史记录或用户首选项)的方法。Cookie 是一小段文本信息,伴随着请求和响应在 Web 服务器和客户端之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。
浏览器负责管理用户系统上的 Cookie。Cookie 随页请求被发送至服务器,并且可作为 HttpRequest 对象(此对象公开 Cookies 集合)的一部分进行访问。只能读取当前域或路径中的页已经创建的 Cookie。
四、基本认证
BASIC 认证(基本认证)是从HTTP/1. 1 就定义的认证方式,是Web服务器与通信客户端之间进行的认证方式。
![](https://i-blog.csdnimg.cn/direct/126119a887274f8ea29ebf878d56431f.png)
步骤1:当请求的资源需要 BASIC 认证时,服务器会随状态码 401 Authorization Required,返回 WWW-Authenticate 首部字段(响应头)的响应。该字段内包含认证的方式(BASIC)及Request-URI 安全域字符串(realm)。
步骤2:接收到状态码 401 的客户端为了通过 BASIC 认证,需要将用户ID及密码发送给服务器。发送的字符串内容是由用户名 ID 和密码构成,两者中间以冒号(:)连接后,再经过 Base64 编码处理。
假设用户 ID 为 guest,密码是 guest,连接起来形成 "guest:guest" 这样的字符串。然后经过 Base64 编码成 Z3Vlc3Q6Z3Vlc3Q=。把这个字符串前面拼接 Baisc 形成 "Basic Z3Vlc3Q6Z3Vlc3Q=",然后把这个字符串写入首部字段 Authorization 后,发送请求。
步骤3:接收到包含首部字段 Authorization 请求的服务器,会对认证信息的正确性进行验证。如果验证通过,则返回一条包含 Request-URI 资源的响应。