课程内容
HTTP
http超文本传输协议
url&&uri&&urn

url的规范
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.5
card-next-schedule:: 2024-03-06T16:00:00.000Z
card-last-reviewed:: 2024-03-06T02:41:01.223Z
card-last-score:: 1
card-last-score:: 1
card-repeats:: 1
card-next-schedule:: 2024-08-05T16:00:00.000Z
card-last-interval:: -1
card-ease-factor:: 2.5
card-last-reviewed:: 2024-08-05T07:47:11.561Z
| 概念 | 说明 | 举例 |
|---|---|---|
| scheme | 协议也叫protocol | http,https,ftp |
| username:password | 认证 | |
| parameters | 参数 | ?id=123 |
| fragment | 片段,对资源描的补充 | vue的路由 |
请求头
| 请求头 | 含义 |
|---|---|
| User-Agent | 标识客户端发送请求的用户代理(User Agent),通常是浏览器或其他应用程序的标识。 |
| Accept | 指定客户端可接受的响应媒体类型。服务器可以根据该头部信息返回适合客户端的响应。 |
| Content-Type | 指定请求体的媒体类型。 |
| Authorization | 包含了用于进行身份验证的凭证信息。通常用于向服务器提供身份验证令牌或用户名密码。 |
| Cookie | 包含了之前由服务器通过Set-Cookie头发送的Cookie信息。 |
| Referer | 标识了发送请求的页面的URL地址。服务器可以根据该头部信息判断请求的来源。 |
| Content-Length | 请求体的字节长度。 |
| Host | 指定请求的目标服务器的主机名和端口号。 |
| If-Modified-Since | 指定一个日期时间,表示如果资源自指定日期时间之后未被修改,才执行请求的操作。用于缓存控制和条件请求。 |
| Cache-Control | 控制缓存行为,包含了一系列指令,如max-age、no-cache等。 |
| X-Requested-With | 标识请求是通过Ajax发送的。 |
请求方式
| 请求方法 | 描述 |
|---|---|
| GET | 用于从服务器获取资源。请求的URL中包含要获取的资源的地址。GET方法是幂等的,多次相同的GET请求应该返回相同的结果。 |
| POST | 用于向服务器提交数据,并在服务器上创建新资源。通常用于提交表单数据、上传文件等。POST方法不是幂等的,多次相同的POST请求可能会创建多个资源。 |
| PUT | 用于向服务器上传或覆盖指定URL处的资源。PUT方法要求完全替换目标资源,如果目标资源不存在,则创建一个新资源。 |
| DELETE | 用于从服务器删除指定URL处的资源。DELETE方法用于删除指定资源,删除成功后返回204状态码或200状态码。 |
| PATCH | 用于对资源进行部分更新。PATCH方法类似于PUT方法,但是只需要传输要更新的字段。 |
| HEAD | 与GET方法类似,但只返回响应头部信息,不返回响应体。HEAD方法通常用于检查资源是否存在,获取资源的元数据等。 |
| OPTIONS | 用于获取服务器支持的请求方法、CORS(跨域资源共享)相关的信息等。OPTIONS方法请求返回服务器支持的HTTP方法列表。 |
| TRACE | 用于在请求-响应链路上执行一个回环诊断。TRACE方法会在目标服务器返回接收到的请求的完整副本,用于调试和诊断。 |
| CONNECT | 用于将请求连接转换为透明的TCP/IP隧道,通常用于代理服务器的通信。CONNECT方法通常用于HTTPS请求。 |
相应码
| 状态码 | 含义 | 说明 |
|---|---|---|
| 100 | Continue | 服务器已接收到请求的首部,客户端应继续发送请求主体部分 |
| 101 | Switching Protocols | 服务器已根据请求要求切换协议 |
| 200 | OK | 请求成功完成 |
| 201 | Created | 请求成功并创建了新资源 |
| 202 | Accepted | 请求已被接受,但处理尚未完成 |
| 203 | Non-Authoritative Information | 请求成功,但返回的信息来自第三方,非官方来源 |
| 204 | No Content | 服务器成功处理了请求,但响应中不包含返回的实体内容。 |
| 205 | Reset Content | 请求成功完成,客户端应重置当前页面 |
| 206 | Partial Content | 客户端只请求资源的一部分,服务器成功地响应了该部分 |
| 300 | Multiple Choices | 请求的资源存在多个选择,用户或代理可以选择其一进行重定向 |
| 301 | Moved Permanently | 资源的URL已永久移动到新位置 |
| 302 | Found | 资源的URL已临时移动到新位置 |
| 303 | See Other | 对应当前请求的响应可以在另一个URL下找到 |
| 304 | Not Modified | 资源未修改,客户端可以使用缓存的版本 |
| 307 | Temporary Redirect | 对应当前请求的响应可以在另一个URL下找到,但请继续使用原始请求URL进行访问 |
| 308 | Permanent Redirect | 对应当前请求的响应可以在另一个URL下找到,客户端应使用新的URL进行访问 |
| 400 | Bad Request | 请求无效或无法被服务器理解 |
| 401 | Unauthorized | 请求需要身份验证 |
| 402 | Payment Required | 预留状态码,表示需要付款才能访问请求的资源 |
| 403 | Forbidden | 请求被服务器拒绝访问 |
| 404 | Not Found | 请求的资源不存在 |
| 405 | Method Not Allowed | 请求方法不被允许 |
| 406 | Not Acceptable | 服务器无法根据请求的内容特性完成请求 |
| 407 | Proxy Authentication Required | 请求要求代理身份验证 |
| 408 | Request Timeout | 服务器在等待请求时超时 |
| 409 | Conflict | 请求存在冲突,服务器无法处理 |
| 410 | Gone | 请求的资源已永久消失 |
| 411 | Length Required | 服务器要求在请求中包含Content-Length首部 |
| 412 | Precondition Failed | 请求条件失败,例如请求头中指定的一些前提条件未满足 |
| 413 | Payload Too Large | 请求实体过大,超出服务器的处理能力 |
| 414 | URI Too Long | 请求的URI过长,服务器无法处理 |
| 415 | Unsupported Media Type | 请求的媒体类型不受支持 |
| 416 | Range Not Satisfiable | 服务器无法满足请求中的Range头字段指定的范围 |
| 417 | Expectation Failed | 服务器无法满足Expect请求头字段指定的期望值 |
| 429 | Too Many Requests | 客户端在给定的时间内发送了太多请求 |
| 500 | Internal Server Error | 服务器内部错误 |
| 501 | Not Implemented | 服务器不支持当前请求的功能或未能实现 |
| 502 | Bad Gateway | 服务器作为网关或代理,从上游服务器接收到无效的响应 |
| 503 | Service Unavailable | 服务器暂时无法处理请求 |
| 504 | Gateway Timeout | 服务器作为网关或代理,未能及时从上游服务器接收到响应 |
| 505 | HTTP Version Not Supported | 服务器不支持请求中所用的HTTP协议版本 |
| - |
csrf
客户端请求伪造,该漏洞的前提是请求参数可控
F12元素与网页源代码的区别
F12元素查看的内容是当前网页上真实的显示,会经过js渲染
源代码顾名思义就是源代码