目录
一、URI 和 URL
二、使用 Cookie 的状态管理
三、返回结果的 HTTP状态码
一、URI 和 URL
URI :统一资源标识符
URL:统一资源定位符
URI 格式
登录信息(认证) | 指定用户名和密码作为从服务器端获取资源时必要的登录信息(身份认证)。此项是可选项 |
服务器地址 | 使用绝对 URI 必须指定待访问的服务器地址。地址可以是类似hackr.jp 这种 DNS 可解析的名称,或是 192.168.1.1 这类 IPv4 地址名,还可以是 [0:0:0:0:0:0:0:1] 这样用方括号括起来的 IPv6 地址名。 |
务器端口号 | 指定服务器连接的网络端口号。此项也是可选项,若用户省略则自动使用默认端口号。 |
带层次的文件路径 | 指定服务器上的文件路径来定位特指的资源。这与 UNIX 系统的文件目录结构相似。 |
查询字符串 | 针对已指定的文件路径内的资源,可以使用查询字符串传入任意参数。此项可选。 |
片段标识符 | 使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置)。但在 RFC 中并没有明确规定其使用方法。该项也为可选项。 |
二、使用 Cookie 的状态管理
Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。
Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie的首部字段信息,通知客户端保存 Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。
- 首次请求时,服务器生成 Cookie 并返回给客户端存储。
- 后续请求中,客户端自动携带 Cookie,服务器通过解析 Cookie 识别用户状态。
- 服务器可根据需求更新或删除 Cookie,客户端按指令执行操作,实现状态管理。
三、返回结果的 HTTP状态码
2XX成功 | 2XX 的响应结果表明请求被正常处理了。 |
---|---|
200 OK | 表示从客户端发来的请求在服务器端被正常处理了 |
204 No Content | 该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分。另外,也不允许返回任何实体的主体。 |
206 Partial Content | 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求。响应报文中包含由 Content-Range 指定范围的实体内容。 |
3XX 重定向 | 3XX 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。 |
301 Moved Permanently | 永久性重定向。该状态码表示请求的资源已被分配了新的 URI,以后应使用资源现在所指的 URI。 |
302 Found | 临时性重定向。该状态码表示请求的资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问。 |
303 See Othe | 该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET方法定向获取请求的资源。 |
304 Not Modified | 该状态码表示客户端发送附带条件的请求 A 时,服务器端允许请求访问资源,但未满足条件的情况。 |
307 Temporary Redirect | 临时重定向。该状态码与 302 Found 有着相同的含义 |
4XX 客户端错误 | 4XX 的响应结果表明客户端是发生错误的原因所在 |
400 Bad Request | 该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求 |
401 Unauthorize | 该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。另外若之前已进行过 1 次请求,则表示用户认证失败。 |
403 Forbidden | 该状态码表明对请求资源的访问被服务器拒绝了。 |
404 Not Found | 该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。 |
5XX 服务器错误 | 5XX 的响应结果表明服务器本身发生错误。 |
500 Internal Server Error | 该状态码表明服务器端在执行请求时发生了错误。也有可能是 Web应用存在的 bug 或某些临时的故障。 |
502 Bad Gateway | 表示 客户端(如浏览器)能与服务器建立连接,但服务器作为 “网关” 或 “代理” 时,从上游服务器(如应用服务器、数据库)获取响应时发生了错误 |
503 Service Unavailable | 该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。 |