【JavaEE初阶】HTTP响应报文

目录

📕引言

🎍200 OK

🍀404 Not Found

🎄403 Forbidden

🌴405 Method Not Allowed

🎋500 Internal Server Error

🌳504 Gateway Timeout

🌲302 Move temporarily

🎍301 Moved Permanently

🍀状态码小结

❄Header


📕引言

关于HTTP响应报文,大部分都与请求报文类似,这里主要介绍一下响应报文里面的 “状态码” (status code)

状态码就描述了这次HTTP请求是否成功,失败的原因

这里的状态码很多,只需要掌握以下常见的状态码即可

🎍200 OK

这是一个最常见的状态码, 表示访问成功.

抓包抓到的大部分结果都是 200

通过Fiddler抓取必应搜索页面:

🍀404 Not Found

标识客户端请求的资源在服务器这边不存在

前面讲到url中,是由IP+端口+路径+查询字符串......,这里的路径就是服务器上管理的某个资源

所谓的404就是你访问的url中的路径,这个路径所代表的资源在服务器这边不存在。

例如:打开哔哩哔哩上的某个视频:

红色方框中就表示我要访问的哔哩哔哩上的某个具体的视频资源

如果说我在这个资源路径随便修改,很可能就会得到一个404这样的响应:

有的网站做的比较简陋,就会直接显示404 Not Found,这里只是b站做得比较好

在抓包结果中也能看到:

得到的响应内容:

🎄403 Forbidden

表示客户端的权限不足,被禁止访问了。有的页面通常需要用户具有一定的权限才能访问(登陆后才能访问). 如果用户没有登陆直接访问, 就容易见到 403.

例如:我退出之后访问码云上的私有仓库

抓包的响应:

🌴405 Method Not Allowed

这个可以简单了解。

表示请求中的方法,服务器不支持

例如在发送的请求中,带有GET/POST,服务器的代码逻辑就需要处理上述请求,假如服务器没有实现对应的逻辑,比如你只实现了处理GET,没实现处理POST,此时你发送POST就可能得到405.

🎋500 Internal Server Error

服务器出现内部错误. 一般是服务器的代码执行过程中遇到了一些特殊情况,出bug(服务器异常崩溃)会产生这个状态码.

例如出现一些空指针异常,下标越界异常......

咱们平时常用的网站很少会出现 500 (但是偶尔也能看到)

🌳504 Gateway Timeout

当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长, 就可能会导致出现超时的情况.

这种情况在双十一等 “秒杀” 场景中容易出现, 平时不太容易见到.

🌲302 Move temporarily

表示临时重定向.

理解 “重定向”

就相当于手机号码中的 “呼叫转移” 功能. 比如我本来的手机号是 132-1234-5678, 后来换了个新号码135-1234-5678, 那么不需要让我的朋 友知道新号码, 只要我去办理一个呼叫转移业务, 其他人拨打 132-1234-5678 , 就会自动转移到 135-1234-5678 上.

访问某个地址的时候,访问的是旧地址,自动跳转到新的地址。

登录:浏览器收到302之后,自动跳转的

登录码云通过Fiddler抓取登录响应:

后面的单词只是描述,只要是302即可。

注意:响应中的Header里面有一个Location,这是302响应中最需要体现的一个Header,描述了接下来要跳转到哪个地址上。

本次跳转就是要跳转到码云的主页上面:

在抓包结果中可以看到在302重定向之后,紧接着在下面发起了请求码云主页的请求,从302收到响应到发出码云页面请求这个过程不需要手动干预,由浏览器自动完成。

🎍301 Moved Permanently

永久重定向. 当浏览器收到这种响应时, 后续的请求都会被自动改成新的地址.

永久重定向与临时重定向:

🍀状态码小结

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。

响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):

❄Header

Header中的Content-Length,Content-Type和请求中的含义一致,不在过多讲述

补充:

构造HTTP请求:

  • 通过form表单构造HTTP请求
  • form发送GET请求
  • form发送POST请求
  • 通过ajax构造HTTP请求
  • 发送GET请求
  • 发送POST请求
  • 通过Java scoket构造HTTP请求

这些关于前端方面的知识,后续在一一讲述

除了上述通过代码构造HTTP请求的方式,还可以通过工具来构造HTTP请求。这种方式更简单,更方便,尤其是需要做一些测试类的工作。

工具有很多,这里讲述postman!

下载:Postman API Platform | Sign Up for Free

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值