[项目][WebServer][项目介绍及知识铺垫][下]详细讲解
目录
- 1.HTTP请求与相应
- 1.整体
- 2.细节说明
- 请求
- 响应
- 3.请求方法
- GET[重点]
- POST[重点]
- PUT
- HEAD
- DELETE
- OPTIONS
- TRACE
- CONNECT
- 总结方法
- 4.HTTP响应 -- 状态码及其描述
- 5.常见状态码
- 2XX 成功 表明请求结果被正确处理了
- 3XX 成功 浏览器需要执行某些特殊的处理以正确处理请求
- 4XX 表明客户端发生错误的原因所在
- 5XX 服务器错误 表明服务器本身发生错误
1.HTTP请求与相应
1.整体
2.细节说明
请求
响应
3.请求方法
GET[重点]
- 功能:获取资源,获取被URI标识的资源
POST[重点]
- 功能:传输实体主体
PUT
- 功能:传输文件,将指定文件放的URI所标示的路径,类似ftp,但是有安全问题,大部分web都不用
HEAD
- 功能:获取报文首部,和GET类似,但是不返回报文主体部分,用于确认URI的有效性以及资源的日期等
DELETE
- 功能:与PUT相反,删除URI指定的资源,不安全,一般也不会被使用
OPTIONS
- 功能:询问支持方法
TRACE
- 功能:追踪路径
CONNECT
- 功能:使用隧道协议链接代理
总结方法
4.HTTP响应 – 状态码及其描述
-
HTTP状态码(HTTP Status Code)是用以表示服务器HTTP响应状态的3位数字代码
-
通过状态码,就可以知道服务器端是否正确的处理的请求,如果不正确,是因为什么原因导致的
-
注意:是http返回给浏览器的状态码
-
状态码分类:
5.常见状态码
2XX 成功 表明请求结果被正确处理了
-
200 OK:客户端发来的http请求,被正确处理了
-
204 No Content:表明请求结果被正确处理了,但是响应信息中没有响应正文
-
206 Partial Content:该状态码表示客户端对服务器进行了范围请求,而且服务器成功的执行了这部分GET请求, 响应报文中包含由Content-Range指定的实体内容范围
3XX 成功 浏览器需要执行某些特殊的处理以正确处理请求
-
301 Moved Permanently 永久性重定向
- 该状态码表示请求的资源已经被分配了新的URI,以后应使用新的URI
- 也就是说,如果之前将老的URI保存为书签了, 后面应该按照响应的Location首部字段重新保存书签
-
302 Found 临时性重定向
-
目标资源被分配了新的URI,希望用户本次使用新的URI进行访问
-
-
307 Temporary Redirec 临时重定向
- 302 303 307区别细节
- 302 303 307区别细节
4XX 表明客户端发生错误的原因所在
-
400 Bad Request:该状态码表明请求报文中存在语法错误,需修改请求内容重新发送,另外,浏览器会像200 OK一样对待该状态码
-
403 Forbidden:该状态码表明浏览器所请求的资源被服务器拒绝了。服务器没有必要给出详细理由,如果想要说明,可以在响应实体内部进行说明
-
404 Not Found
5XX 服务器错误 表明服务器本身发生错误
-
500 Internal Server Error:表明服务器端在执行的时候发生了错误,可能是Web本身存在的bug或者临时故障
-
503 Server Unavailable:该状态码表明服务器目前处于超负载或正在进行停机维护状态,目前无法请求处理。这种情况下,最好写入Retry-After首部字段再返回给客户端