HTTP协议|青训营

76 阅读3分钟

1.Method

(1)方法 GET 请求一个指定资源的表示形式.使用GET的请求应该只被用于获取数据 POST 用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用 PUT 用请求有效载荷替换目标资源的所有当前表示 DELETE 删除指定的资源 HEAD 请求一个与GET请求的响应相同的响应,但没有响应体 CONNECT 建立一个到由目标资源标识的服务器的隧道 OPTIONS 用于描述目标资源的通信选项。 TRACE 沿着到目标资源的路径执行一个消息环回测试 PATCH 用于对资源应用部分修改。

(2) Safe(安全的): 不会修改服务器的数据的方法 GET HEAD OPTIONS

ldempotent(幂等): 同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的所有safe的方法都是ldempotent 的 GET HEAD OPTIONS PUT DELETE

2.状态码

image.png 常用: 200 OK-客户端请求成功 301- 资源 (网页等)被永久转移到其它 URL 302-临时跳转 401 Unauthorized-请求未经授权 404- 请求资源不存在,可能是输入了错误的 URL 500-服务器内部发生了不可预期的错误 504 Gateway Timeout-网关或者代理的服务器无法在规定的时间内获得想要的响应

3.常用请求、响应头

image.png

image.png

4.缓存

image.png

5.cookie

image.png

## 6.跨域 (1)判断:三个中有一个不同即跨域

image.png

https-> :443 http-> :80 (默认,即可省略)

(2)跨域 CORS( Cross-Origin Resource Sharing ) 预请求:获知服务端是否允许该跨源请求 (复杂请求) 相关协议头 Access-ControlAllow-Origin Access-Control-Expose-Headers Access-ControlMax-Age Access-Control-Allow-Credentials Access-Control-Allow-Methods Access-Control-Allow-Headers Access-ControlRequest-Method Access-ControlRequest-Headers Origin

(3)跨域解决方案 ·CORS ·代理服务器 同源策略是浏览器的安全策略,不是 HTTP的 ·Iframe 诸多不便

image.png

7.登录

image.png

image.png

8.ajax

(1)image.png

(2)AJAX之Fetch ·XMLHttpRequet的升级版 ·使用Promise ·模块化设计,ResponseRequest,Header对象 ·通过数据流处理对象,支持分块读取

(3)常用的请求库:axios

(4)

image.png (5)

image.png

拓展: HTTP之URL

HTTP使用URI(统一资源标识符) 来传输数据和建立连接。

URL是一种特殊类型的URI,包含了用于查找某个资源的足够信息。以一个URL为例

www.aspxfans.com:8080/news/index.…

URL主要包括以下几部分:

  1. 协议部分:“http:”,在HTTP后面的“//”为分隔符

  2. 域名部分:“www.aspxfans.com”

  3. 端口部分:跟在域名后面的是端口,8080,域名和端口之间使用“:”作为分隔符。

  4. 虚拟目录部分:从域名后的第一个“/”开始到最后一个“/”为止。“/news/”

  5. 文件名部分:从域名后的最后一个“/”开始到“?”为止。“index.asp”

  6. 锚部分:从“#”开始到最后。"name"

  7. 参数部分:从“?”开始到“#”为止之间的部分为参数部分

HTTP协议是一种用于在计算机网络上传输超文本的协议。它是一种客户端-服务器协议,客户端向服务器发送请求,服务器则返回响应。HTTP协议是互联网上最常用的协议之一,它被用于在Web浏览器和Web服务器之间传输HTML页面、图像、视频、音频和其他类型的文件,HTTP协议基于TCP协议,它定义了客户端和服务器之间交换的信息格式和规则,HTTP协议使用请求-响应模型,客户端发送一个HTTP请求到服务器,服务器则返回一个HTTP响应,HTTP请求由请求行、请求头和请求体组成。请求行包含请求方法、URL和HTTP协议版本。请求头包含一些附加的信息,例如请求的主机名、用户代理、cookie等。请求体包含客户端发送的数据,例如表单数据等。 HTTP响应由状态行、响应头和响应体组成。