HTTP协议----请求方法和状态码

现在广泛使用的是HTTP/1.1版本,发布于1997年。

理解HTTP协议,首先从请求开始,比如:

POST /form/entry HTTP/1.1

格式为: 请求方法 URI 协议版本 

请求方法

GET:获得URI指定的资源,主要目的是获取

POST:将主体传输到URI,主要目的是传输,而不是获取

PUT传输文件,在请求主体中包含文件内容,然后保存到URI指定的位置。

HEAD:只获取GET结果的头部,除去主体。

DELETE删除文件,是PUT的逆操作

OPTIONS:查询针对请求URI指定资源支持的方法。用法如:

OPTIONS * HTTP/1.1

HOST:xxx

注意:由于PUT和DELETE方法涉及服务器文件的直接操作,较为敏感,所以一般Web网站并不支持。

除非配合使用了Web的验证机制

常用的状态码

1XX:表示消息

2XX:成功

200 OK 请求成功,且返回了内容

204 No Content:请求成功处理,但不返回内容

206:Partial Content:服务器按照客户端的要求发返回了某个范围的内容。

3XX:重定向

301: Moved Permanently:请求的资源已被永久分配了新的URI,本次用新URI访问

302: Found:请求的资源已被暂时分配了新的URI,本次用新URI访问

可以看出,无论是301还是302,请求的资源都有两个URI

303: See Other:与302类似,请求资源有新的URI,用GET去获取

304: Not Modified:资源已找到,但未满足请求报文中包含的条件(与重定向无关

4XX:客户端错误

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

401: Unauthorized:发送的请求中没有包含认证信息,或者认证失败

403: Forbidden:访问被拒绝(如权限等问题)

404: Not Found:服务器上没有URI指定的资源

5XX:服务器错误

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

503: Service Unavailable:服务器无法处理请求(服务器正超负荷运转或维护等)

原文地址:https://www.cnblogs.com/geeklove01/p/8168108.html