1. HTTP响应码有哪些
HTTP响应码分为以下几类:
- 1xx(临时响应):表示请求已被接收,继续处理。
- 2xx(成功):表示请求已成功被服务器接收、理解、并接受。
- 3xx(重定向):表示需要进一步的操作以完成请求。
- 4xx(客户端错误):表示请求包含错误或无法被服务器处理。
- 5xx(服务器错误):表示服务器在处理请求时发生了内部错误。
举例:
- 200:成功,Web服务器成功处理了客户端的请求。
- 301:永久重定向,Web服务器将当前请求重定向到另一个网址,搜索引擎会抓取重定向后的网页内容并将旧的网址替换为重定向后的网址。
- 302:临时重定向,搜索引擎会抓取重定向后网页的内容而保留旧的网址,因为搜索引擎认为重定向后的网址是暂时的。
- 400:客户端请求错误,多为参数不合法导致Web服务器验参失败。
- 404:未找到,Web服务器找不到资源。
- 500:服务器错误,服务器处理客户端请求时发生错误。
- 503:服务不可用,服务器停机。
- 504:网关超时
2. Forward和Redirect的区别?
- 浏览器URL地址:Forward是服务器内部的重定向,浏览器的URL地址不会变化;Redirect是客户端请求服务器,然后服务器返回302状态码和新的location,客户端重新发起HTTP请求,浏览器的URL地址会变化。
- 数据的共享:Forward是服务器内部的重定向,request在整个重定向过程中不变,request中的信息在servlet间共享。Redirect发起了两次HTTP请求,分别使用不同的request。
- 请求的次数:Forward只有一次请求;Redirect有两次请求。