HTTP协议方法以及状态码
(一)请示方法:
GET POST HEAD PUT TRACE DELETE OPTIONS
注意:这些请求方法虽然Http协议里规定的,但WEB服务器未必允许或支持这些方法,例如put
- HEAD与GET基本一致,只是返回内容不同 :
GET返回内容,HEAD不返回内容,只给相应头信息,确认网页链接是否正常 - TRACE:是用代理上网,查看代理服务器是否有修改本地的HTTP请求,可以用TRACE测试
比如用代理访问news.163.com,TRACE一下,163的服务器就会把收到的请求返回
- OPTIONS:返回服务器可用的请求方法
(二)状态码、状态文字
状态码用来反应服务器响应情况
HTTP状态码(HTTP Status Code)是表示网页服务器超文本传输协议响应状态的3位数字代码。即当服务器收到某种请求时,例如,当用户通过浏览器访问你的网页页面,服务器会向这个浏览器返回一个代码响应请求status。这个代码就称为:HTTP状态码。
1xx 信息 接收到请求,继续处理
2xx 成功 操作成功收到,理解和接受
3xx 重定向 为了完成请求,必须采取进一步措施
4xx 客户端错误 请求的语法有错误、不能完全被满足
5xx 服务端错误 服务器无法完成明显有效的请求
200 服务器成功返回网页
301 永久重定向
大多数是在自己的域名已经到期,换了一个域名,所以要永远改变地址了,老的域名 永远不会被用了
php文件:header('Location:http://www.baidu.com',true,301)//永久重定向
302 临时重定向 只是暂时访问另一个临时的地址,跳转访问
php文件:
header('Location:http://www.baidu.com'); //默认重定向302
304 Not Modified
告诉浏览器资源未被修改(如图片、视频、音频),浏览器访问的仍是缓存中的资源,减轻服务器缓存压力
307 POST方法重定向中保持原有的请求数据
失败的状态码
404-请求的网页不存在
403-无权限,没有注册或登录
503-服务器暂时无法使用
500-服务器内部错误
一般来说,客户端就是我们使用的电脑(包括我们使用的浏览器IE,Firefox);服务器端就是存放网页与数据库数据的服务器。
并不是说服务器知道客户端有没缓存,
而是客户端(我们的电脑)告诉服务器有此图片,自己有缓存,客户端会给已缓存的资源加个时间戳保存,接着让服务器看过期没,若过期让服务器端重传一份