一、基础概念

URI

URI包含URL和URN

计算机网络HTTP

请求和响应报文

1.请求报文

计算机网络HTTP

2.响应报文

计算机网络HTTP

二、HTTP方法

客户端发送的 请求报文 第一行为请求行,包含了方法字段

GET

获取资源    在当前网络请求中、绝大部分使用的是GET方法。

HEAD

获取报文首部      和 GET 方法类似,但是不返回报文实体主体部分。主要用于确认 URL 的有效性以及资源更新的日期时间等。

POST

传输实体主体   POST 主要用来传输数据,而 GET 主要用来获取资源。

PUT

上传文件     由于自身不带验证机制,任何人都可以上传文件,存在安全问题,一般使用该方法

PATCH

对资源进行部分修改    PUT也可以用与修改资源,但是只能完全替代资源。

DELETE

删除文件    与PUT功能相反,并且不带验证机制。

OPTIONS

查询支持的方法    查询指定的 URL 能够支持的方法。会返回 Allow: GET, POST, HEAD, OPTIONS 这样的内容

CONNECT

要求在与代理服务器通信时建立隧道     使用 SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。

TRACE

追踪路径      服务器会将通信路径返回给客户端。

 

三、HTTP状态码

服务器返回的 响应报文 中第一行为状态行,包含了状态码以及原因短语,用来告知客户端请求的结果。

状态码 类别 含义
1XX Informational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错

1XX信息

100 Continue :表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。

 

2XX成功

200 OK

204 No Content :请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。

206 Partial Content :表示客户端进行了范围请求,响应报文包含由 Content-Range 指定范围的实体内容。

 

3XX重定向

301 Moved Permanently :永久性重定向

302 Found :临时性重定向

303 See Other :和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。

  • 注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。

304 Not Modified :如果请求报文首部包含一些条件,例如:If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since,如果不满足条件,则服务器会返回 304 状态码。

307 Temporary Redirect :临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。

 

4XX 客户端错误

400 Bad Request :请求报文中存在语法错误。

401 Unauthorized :该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。

403 Forbidden :请求被拒绝。

404 Not Found

 

5XX服务器错误

500 Internal Server Error :服务器正在执行请求时发生错误。

503 Service Unavailable :服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

 

四、HHTP首部

有 4 种类型的首部字段:通用首部字段、请求首部字段、响应首部字段和实体首部字段。

 

 

 

 

 

 

 

 

 

 

相关文章: