JavaEE - HTTP状态码
创始人
2024-11-18 18:06:18
0

Web服务器

浏览器和服务器两端进行数据交互,使用的就是HTTP协议(HTTP客⼾端和 HTTP服务器之间的交互数据 的格式)。

Web服务器就是对HTTP协议进⾏封装,程序员不需要直接对协议进⾏操作(⾃⼰写代码去解析http协议 规则),让Web开发更加便捷,所以Web服务器也被称为WWW服务器,HTTP服务器,主要功能是提供网上信息浏览服务。

常⻅的Web服务器有:Apache,Nginx,IIS,Tomcat,Jboss等。

 SprootBoot内置了Tomcat服务器,无需配置即可直接运行。

Tomcat默认端口号是8080,所以程序访问时的端口号也是8080端口号。

请求响应流程

浏览器输入URL之后,发情请求,就和服务器之间建立了连接。

浏览器:

输入网址:http://127.0.0.1:8080/hello

        首先,通过IP地址127.0.0.1定位到网络上的一台计算机,127.0.0.1就是本机

        再,通过端口号8080找到计算机上对应的进程,也就是在本地计算机中找到正在运行的

                8080端口程序

再,/user/sayhi是请求资源位置

        对于计算机而言 资源就是数据。web资源 : 通过网络可以访问到的资源(通常指存放          在服务器上的数据)

        http://127.0.0.1:8080/user/sayhi,就是向本地计算机中的8080端⼝程序,获取资源位置         是/user/sayhi的数据

8080端⼝程序,在服务器找/hello位置的资源数据,发给浏览器

服务器:

接收到浏览器发送的信息 (/user/sayhi)

在服务器上找到 /user/sayhi 的资源

把资源发送给浏览器

状态码报错

4xx    客户端发生错误

5xx    服务端发生错误(第一时间去看错误日志)

 1)404错误

404表示用户访问的资源不存在。大概率是URL的路径写的不正确。

正确示例:

package com.example.demo;  import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;  @RestController public class UserController {      @RequestMapping("/sayHi")     public String say() {         return "hello Spring Boot ~";     } }

错误示例1:url单词拼错

错误示例2:注解写错

通过fiddler观察http请求

2)500错误

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

错误示例:

@RestController public class UserController {  @RequestMapping("/sayHi")  public String sayHi(){  int res = 10/0;  return "hello,Spring";  } } 

重启服务重新访问:

可以观察在idea上,程序后端控制台打印了具体的异常调用栈

异常信息⾥已经提⽰了出现异常的代码是 UserController.java 的第 11 ⾏。

错误原因是算术异常: 除数为0 。按照异常提⽰,去解决对应的问题即可。

总结:

  • 4xx 状态码 表示路径不存在,往往需要检查URL是否正确,和代码中设定的contex path 以及 servlet path 是否一致
  • 5xx 状态码 表示服务器出现错误,往往需要观察页面的提示内容 和 Tomcat的日志,观察是否存在报错
  • 出现连接失败往往意味着 服务没有正常启动,也需要观察服务的自身日志是否有错误提示

观察⽇志是调试程序的重要途径.系统⽇志往往很多,需要在工作或学习过程中耐⼼阅读,经常阅读,熟练了就能更快速的找到问题了~


相关内容

热门资讯

fuzzbunch是什么 fuzzbunch是一个英文俚语,用来形容一团混乱、杂乱无章的东西或人。它可以指代任何看起来杂乱、不...
手机屏幕常见分辨率 手机屏幕常见分辨率有720p、1080p、2K和4K。720p是1280×720像素,1080p是1...
微信为什么不能语音 微信本身是支持语音功能的,包括语音消息和语音通话。如果你无法使用这些功能,可能是因为你的手机权限设置...
qq浏览器怎么压缩照片-qq浏... 在QQ浏览器中,你可以使用其内置的图片压缩功能来压缩照片。打开你想要压缩的照片,然后点击图片右上方的...
wechatmac是什么 WeChat Mac是微信的Mac版本,是一款跨平台的即时通讯软件,适用于Mac操作系统,支持发送语...
chrome浏览器卡顿怎么办(... 尝试以下方法解决Chrome卡顿:1. 更新Chrome至最新版本;2. 关闭不必要的扩展程序;3....
雷速体育昵称怎么设置 在雷速体育中,您可以在个人资料或账户设置中找到昵称设置选项,输入您想要的昵称并保存即可。在雷速体育平...
如何修改,wifi密码 修改WiFi密码通常需要登录到路由器的管理页面。确保你有管理员权限,然后按照以下步骤操作:,,1. ...
hello语音游戏模式怎么打开 在Hello语音中,通常需要通过设置或活动页面找到游戏模式并激活。具体步骤可能因版本更新而异,建议查...
aspx 什么语言 ASPX 是使用 C# 或 VB.NET 编写的,基于 .NET 框架的 Web 应用程序语言。AS...