【JavaEE】_HTTP响应

目录

1. 首行

2. 报头header

3.空行

4. 正文body


1. 首行

响应首行:版本号+状态码+状态码描述

HTTP状态码描述了这次响应的结果(比如成功、失败,以及失败原因等);

1. HTTP状态码有:

【JavaEE】_HTTP响应_第1张图片

(来源:搜狗百科)

2. 常见HTTP状态码有:

 1)200 OK, 表示访问成功

(2)404 Not Found, 表示访问的资源不存在,在服务器上查询无果

如访问:

【JavaEE】_HTTP响应_第2张图片

页面显示:

【JavaEE】_HTTP响应_第3张图片

也可在fiddler中查看:

【JavaEE】_HTTP响应_第4张图片

注:404返回的错误页面可以在body中进行设置,很多网站会把这个页面设计得非常丰富多彩;

(3)403 Forbidden:无访问权限,访问被拒绝

(4)302 Move temporarily:重定向

重定向类似于呼叫转移,在登录页面302非常常见,用于实现登陆成功后自动跳转到主页;

302这样的响应报文中会在header中带有一个Location属性,通过这个属性来描述要跳转到哪个新的地址;

注:注意区别重定向与请求转发:

请求转发是servlet/spring里提供的机制;重定向是HTTP里提供的机制

请求转发只能在该服务器内部的资源之间转发,重定向可以重定向到外部资源,即可跳转到别的网站

请求转发只有一次交互,更高效;重定向需要进行两次交互

(5)500系列:服务器内部错误

如:504 gateway timeout:请求超时等等;

注:gateway即网关,是一个网络的出入口,通常也用来指代一个机房的入口服务器,192.168.1.1这种ip一般是网关ip;

可总结如下:

类别 原因短语
1XX Informational(信息性状态码) 接受的请求正常处理
2XX Success(成功状态码 请求正常处理完毕
3XX Redirection(重定向状态码 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码 服务器无法处理请求
5XX Server Error(服务器错误状态码 服务器处理请求出错

注:HTTP状态码是RFC标准明确规定的,不允许自定义;

2. 报头header

与HTTP请求相同,HTTP响应的报头也是键值对格式;

关于HTTP请求的详细内容,请查看HTTP请求报头部分文章,链接如下:

【JavaEE】_HTTP请求报头header-CSDN博客

3.空行

与HTTP请求相同,空行是header的结束标记;

4. 正文body

根据不同的Content-Type,设置具体的响应数据格式与内容;

你可能感兴趣的:(JavaEE,http,网络协议,网络)