对前端交互相关请求,协议缺乏稳固的基础知识,gpt正好适合问基础知识,通过询问gpt3.5进行学习,写一篇笔记补充补充
超文本:是一种通过链接将相关信息组织起来的非线性文本形式。它通过超链接连接不同的文本或资源,使得用户可以在阅读过程中自由地跳转和浏览相关内容,提供更加丰富和智能化的阅读体验。协议就是一种规范POST、GET、PUT、DELETE| 请求方法 | 作用于 |
|---|---|
| POST | 常用于新增 |
| GET | 常用于查询 |
| PUT | 常用于编辑 |
| DELETE | 常用于删除 |
| 类型 | 描述 |
|---|---|
| URL | (Uniform Resource Locator)URL是URI的一种,它指定了互联网上的资源的位置以及访问该资源的方式。换句话说,URL是访问Web页面或其他Web资源的地址,它由协议、主机名、路径等部分组成。举个例子,http://www.example.com/index.html就是一个URL。 |
| URN | (Uniform Resource Name)URN也是URI的一种,它与URL不同的是,URN仅仅是为一个资源分配一个唯一的名字,不涉及定位资源的具体位置。URN作为一个名字,可以持久的指向一个特定的资源,无论它被移动到哪个位置。URN还没有被广泛使用,目前只在某些特定的场景下使用,如在元数据中引用资源。 |
| 字段 | 描述 |
|---|---|
| Content-Type | 指定请求体的媒体类型,如application/json、application/x-www-form-urlencoded等 |
| Content-Length | 指定请求体的长度,以字节为单位 |
| User-Agent | 标识发出请求的客户端应用程序或浏览器的用户代理信息 |
| Accept | 指定客户端能够接受的响应内容类型 |
| Authorization | 包含用于进行身份验证的凭证信息,比如Bearer令牌、基本认证凭据等。 |
| Cookie | 包含来自服务器的应答Cookie值,客户端将这些值存储并在每次请求中发送回服务器 |
| Referer | 表示当前请求是从哪个URL页面跳转过来的,用于记录请求的来源 |
| If-Modified-Since | 用于条件性GET请求,指定自某个日期/时间以来是否有更新的资源可用。 |
| Cache-Control | 控制缓存行为的指令,如max-age、no-cache、private等。 |
| X-Requested-With | 标识该请求是由Ajax发起的,常用于区分普通请求和异步请求。 |
TODO 待补充 |
| 媒体类型 | 类型描述 |
|---|---|
| application/json | JSON 格式的数据 |
| application/xml | XML 格式的数据 |
| application/octet-stream | 二进制流数据,通常用于文件上传或下载 |
| text/plain | 纯文本数据,不包含任何格式或特殊字符 |
| text/html | HTML 格式的数据,通常用于网页内容 |
| multipart/form-data | 用于表单提交,可以包含多种不同类型的数据,比如文件、文本等。 |
| application/x-www-form-urlencoded | 经过 URL 编码的表单数据 |
| application/pdf | PDF 格式的文档 |
| image/jpeg 或 image/png | JPEG 或 PNG 格式的图片 |
| audio/mpeg 或 audio/ogg | MPEG 或 OGG 音频文件 |
Access-Control-Expose-Headers | 该字段值为一个以逗号分隔的名称列表,用于明确告知客户端可以访问的响应头字段名称。例如:Access-Control-Expose-Headers: Content-Type, X-Custom-Header |
关于 Access-Control-Expose-Headers: 默认情况下,浏览器可以访问以下响应头字段:
当客户端向服务器发送HTTP请求时,以下是一些常见的可以被访问到的HTTP请求头字段:
Accept:指定客户端能够处理的媒体类型(MIME类型)。
Accept-Encoding:指定客户端能够处理的内容编码方式,如gzip、deflate等。
Accept-Language:指定客户端首选的自然语言,用于响应内容的国际化。
User-Agent:包含了发起请求的用户代理信息,通常标识了浏览器或其他客户端应用程序。
Host:指定目标服务器的主机名和端口号。
Cookie:指定之前由服务器设置的Cookie值,用于跟踪会话状态。
Authorization:用于进行身份验证的凭证信息,如基本认证、Bearer令牌等。
在服务器响应中,以下是一些常见的可以被访问到的HTTP响应头字段:
Content-Type:指定响应正文的媒体类型。
Content-Length:指定响应正文的字节长度。
Cache-Control:控制缓存行为,如max-age、no-cache等指令。
Expires:指定响应的过期时间。
Last-Modified:指示资源的最后修改时间。
Set-Cookie:设置Cookie值,用于跟踪会话状态。
Access-Control-Allow-Origin:指示允许访问资源的来源,用于CORS跨域请求。
Location:指定重定向的URL地址。
| 请求格式 | 格式描述 |
|---|---|
| Content-Type:application/x-www-form-urlencoded) | 使用HTTP POST方法时,可以将表单数据包含在请求体中。请求体的格式类似于"key1=value1&key2=value2"的键值对形式,多个键值对之间使用"&"符号连接。 |
| Content-Type:application/json | 使用HTTP POST或PUT方法时,可以将JSON格式的数据包含在请求体中。请求体的内容为JSON字符串,需要设置请求头的Content-Type为"application/json" |
| Content-Type:multipart/form-data | 使用HTTP POST方法进行文件上传时,可以将文件及相关信息打包放入请求体中。这种格式一般用于上传文件,请求体以多部分(multipart)的形式组织,并使用boundary分隔每个部分 |
| 原始数据(Raw Data) | 也可以直接将原始数据以字符串的形式放入请求体中,无论是纯文本还是其他格式的数据。需要根据实际情况设置请求头的Content-Type。 |