【JavaEE】_HTTP响应

目录

[1. 首行](#1. 首行)

[2. 报头header](#2. 报头header)

3.空行

[4. 正文body](#4. 正文body)


1. 首行

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

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

  1. HTTP状态码有:

(来源:搜狗百科)

  1. 常见HTTP状态码有:

1)200 OK, 表示访问成功

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

如访问:

页面显示:

也可在fiddler中查看:

注: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,设置具体的响应数据格式与内容;

相关推荐
全栈工程师修炼指南1 分钟前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
cur1es22 分钟前
【UDP的报文结构】
网络·网络协议·udp·md5
闲人编程1 小时前
使用FastAPI和WebSocket构建高性能实时聊天系统
websocket·网络协议·网络编程·fastapi·持久化·实时聊天·codecapsule
惊讶的猫1 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c2 小时前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠2 小时前
HTTP 404 - No response body available
网络·网络协议·http
全栈工程师修炼指南2 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
Trouvaille ~2 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安2 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
REDcker3 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统