JavaEE初阶:网络原理-HTTP(下)

目录

[1. HTTP 响应(Response)](#1. HTTP 响应(Response))

[1.1 响应报文结构](#1.1 响应报文结构)

[1.2 详解"状态码"](#1.2 详解“状态码”)

301 "Moved Permanently"

403 "Forbidden"

404 "Not Found"

405 "Method Not Allowed"

500 "Internal Server Error"

504 "Gateway Timeout"

[1.3 响应"报头"(header)](#1.3 响应“报头”(header))

[1.3.1 Content-Type](#1.3.1 Content-Type)

[1.3.2 Content-Length](#1.3.2 Content-Length)

[2. 总结](#2. 总结)


回顾:上篇讲解了HTTP协议格式,以及HTTP请求报文内容解析。

1. HTTP 响应(Response)

1.1 响应报文结构

  1. 首行
  2. 响应头
  3. 空行
  4. body(正文)

响应报文与请求报文最大的差别在首行,其余结构没变化。

响应首行内容包含:协议版本号状态码 和**状态码描述。**例:

1.2 详解"状态码"

200是最常见的状态码,表示请求成功。每个状态码代表的意义都不同。

状态码范围 100~599 :

301 "Moved Permanently"

3xx都表示重定向。

重定向: 程序员修改某资源的URL,用户不知道资源路径已改变,在用旧URL访问资源时会跳转到新URL(新网页);这样把新URL绑定到旧URL上,用旧URL访问跳转就叫重定向

如 301 状态码描述为"Moved Permanently" 译为:永久移动。例:https://baidu.com/ 访问资源时使用抓包工具抓取数据包就能看见:

403 "Forbidden"

4xx都表示客户端错误,不是服务端代码逻辑问题。比如你访问一个未公开的网址或不存在的网址那么这肯定是用户的问题。

403 "Forbidden" 表示权限不够,访问不了。比如访问我的私有代码:SpringBoot常用配置 - 代码片段 - Gitee.com

404 "Not Found"

404 "Not Found" 译为:没有发现。表示用户访问的网址错误,没有该网址对应的资源。

405 "Method Not Allowed"

译为:方法无效。表示 服务端不接受采用某种方法发送而来的请求(get、post、put等)。

500 "Internal Server Error"

5xx都表示服务端错误,如服务器内部错误,如请求处理时间超时。

500 "Internal Server Error" 译为:内部服务器错误。表示服务器内部错误,如服务器崩溃了,会产生这个状态码。

504 "Gateway Timeout"

504 "Gateway Timeout" 译为:网关超时。表示网关服务器等待了长时间未接收到上有服务器的响应结果,而返回的状态码。

服务器集群:

1.3 响应"报头"(header)

请求和响应结构内容最大差异在首行,其他都差不多;下面随便列举两个。

1.3.1 Content-Type

响应中常见的Content-Type:

  • text/html :body 数据格式是HTML
  • text/css :body 数据格式是CSS
  • application/javascript :body 数据格式是JavaScript
  • application/json :body 数据格式是JSON

1.3.2 Content-Length

表示body长度,单位字节。如Content-Length:1234 ,表示body长度为1234byte。

2. 总结

|------------------|-----------------------|
| 请求 | 响应 |
| 首行(方法+URL+协议版本号) | 首行(版本号+状态码+状态码描述) |
| 报头(header) | 报头(header) |
| 空行 | 空行 |
| 正文(body)(不一定有) | 正文(body) (传输二进制等格式数据) |

他们结构类似相同,报文实际意义容易理解,更多要注意的是结构中各 "键值对" 代表了什么意思,有什么作用。

相关推荐
可爱系程序猿12 小时前
Windows 打印链路诊断:从设备枚举、TCP/IP 端口到 Spooler 服务恢复
网络·网络协议·tcp/ip
深念Y14 小时前
P2P组网选型与折腾记录
网络·网络协议·p2p·局域网·远程·组网
会编程的土豆15 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
jjjava2.015 小时前
系统日志:从入门到精通的完整指南
网络·数据库
阿kun要赚马内15 小时前
DNS了解
网络协议
MartinYeung515 小时前
[论文学习]InjecAgent:工具集成大语言模型智能体的间接提示注入基准测试
网络·学习·语言模型
paopaokaka_luck15 小时前
基于Springboot3+Vue3的高校选课系统(AI选课助手、协同过滤算法、分享到微博、扣扣、Echarts图形化分析)
网络·spring boot·网络协议·echarts
三川69817 小时前
深入浅出SSD 10:UFS介绍
网络
BullSmall17 小时前
AFL++ HTTP Mode(网络 / HTTP 服务模糊测试)完整安装教程
网络·网络协议·http
Yuiiii__18 小时前
一次“在家连不上公司内网服务”的排障实战记录
网络·智能路由器