1.请简述常见的状态码和出现的原因
常见的状态码分类有五种:
1xx:服务器端在接收客户端消息,但没有接收完全,在等待客户端一段时间后,会发生1xx状态码进行确认客户端是否还有消息要发送
2xx:常见的有200(代表请求发送成功)
3xx:常见的有302(重定向:告知客户端浏览器去请求当前服务器下的其他资源),304(告知客户端浏览器去本地缓存中访问获取资源,可以提高访问速率)
4xx:客户端发送错误,常见的有404(请求的路径没有写对,找不到对应的资源),405(请求的方式中没有对应的请求方法)
5xx:服务器端错误,500(访问的服务器端中代码可能写错)
2.转发和重定向的区别?
转发(forward):
(1)转发的地址栏路径不会发生改变
(2)转发只能访问当前服务器下的资源
(3)转发是一次请求,requst对象是同一个,所以它可以使用requst对象进行共享资源,且在当前服务器中进行转发,不用加虚拟路径
重定向(redirect):
(1)重定向的地址栏路径发生改变
(2)重定向可以访问其他服务器下的资源
(3)重定向是两次请求,requst对象是不是同一个,所以它不可以使用requst对象进行共享资源,且要加虚拟路径
3.绝对路径和相对路径的区别?
绝对路径:要写虚拟路径,是以/开头的路径,注意/是相对于是当前项目,且通过访问路径能够当前项目确定唯一的资源
相对路径:省略了虚拟路径,但需要找到当前资源与目标资源之间的相对位置关系,同级目录用./(可省略),返回上一级目录用../,且通过相对路径不能够确定当前项目确定唯一的资源
4.什么时候需要加虚拟路径?
给客户端使用时需要加虚拟路径(看客户端请求),如果是从客户端访问服务器,是要加虚拟路径,它需要通过绝对路径找到相对应唯一资源的路径,如重定向,重定向是两次请求,两次都是从客户端请求访问服务器端的资源,所以都需要加虚拟路径
|