4-请求、响应对象的生命周期和状态码
请求、响应对象的生命周期
当服务器收到Http请求协议包后,会创建请求对象和响应对象,当调用doGet或者doPost方法时,将生成的两个对象传入。
当doGet或者doPost方法执行完毕后,Http服务器准备将Http响应协议包推送给浏览器之前,负责将本次请求关联的请求对象和响应对象销毁。
所有请求对象和响应对象的生命周期贯穿一次请求的整个处理过程中,请求开始,两个对象会创建,请求结束,对象被销毁。
Http状态码
介绍
Http状态码是由三位数字组成的符号,Http服务器会在推送响应包之前,根据本次请求处理的情况,将Http状态码写入到响应包中的状态行上。
如果 Http服务器针对本次请求,返回了对应的资源文件,通过Http服务器通知浏览器应该如何处理这个结果;
如果 Http服务器针对本次请求,无法返回对应的资源文件,通过Http服务器向浏览器解释不能提供服务的原因。
分类
Http状态码的范围为100-599,分为5个大类。
1XX:
最有特征是100:通知浏览器本次返回的资源文件不是一个独立的资源文件,需要浏览器接受响应包后,继续向Http服务器索要依赖的其他资源文件
2XX:
最有特征200:通知浏览器本次返回的资源文件是一个完整独立资源文件,浏览器接收后,不需要请求其他关联文件
3XX:
最有特征302:通知浏览器本次返回的不是一个资源文件内容,而是一个资源文件地址,需要浏览器根据地址自动发 起请求来索要这个资源文件,例如
response.sendRedirect("地址")
写入到响应头location中4XX:
404:由于在服务端没有定位到被访问的资源文件,因此不能提供
405:在服务器定位到了被访问的资源文件(Servlet),但是这个Servlet对于浏览器采用的请求方式不能处理
5XX:
500:通知浏览器,在服务端已经定位到了被访问的资源文件(Servlet),这个Servlet也可以接收浏览器采用的请求方式,但是Servlet在处理请求期间,由于Java异常导致处理失败