JavaWeb(SpringBoot3+vue3)开发+教学管理系统项目实战之http请求协议
请求头(以上图中黄色部分) :第二行开始,上图黄色部分内容就是请求头。格式为key: value形式
- http是个无状态的协议,所以在请求头设置浏览器的一些自身信息和想要响应的形式。这样服务器在收到信息后,就可以知道是谁,想干什么了
- 常见的HTTP请求头有:
请求头
| 含义
| Host
| 表示请求的主机名
| User-Agent
| 浏览器版本。 例如:Chrome浏览器的标识类似Mozilla/5.0 ...Chrome/79 ,IE浏览器的标识类似Mozilla/5.0 (Windows NT ...)like Gecko
| Accept
| 表示浏览器能接收的资源类型,如text/*,image/*或者*/*表示所有;
| Accept-Language
| 表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
| Accept-Encoding
| 表示浏览器可以支持的压缩类型,例如gzip, deflate等。
| Content-Type
| 请求主体的数据类型
| Content-Length
| 数据主体的大小(单位:字节)
| 获取请求数据
Web服务器(Tomcat)对HTTP协议的请求数据进行解析,并进行了封装(HttpServletRequest),并在调用Controller方法的时候传递给了该方法。这样,就使得程序员不必直接对协议进行操作,让Web开发更加便捷。
- package com.jinhei;
-
- import jakarta.servlet.http.HttpServletRequest;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RestController
- public class RequestController {
- @RequestMapping("/request")
- public String request(HttpServletRequest request) {
- // 获取请求方式
- String method = request.getMethod();
- System.out.println("获取请求方式:"+ method);
- // 获取请求URL地址 完整的url地址 http://localhost:8080/request
- String url = request.getRequestURL().toString();
- // 资源的访问路径 /request
- String path = request.getRequestURI();
- System.out.println("资源的访问路径:"+ path);
- System.out.println("完整的url地址:"+url);
- // 获取请求参数
- String param = request.getQueryString();
- System.out.println("请求参数:"+param);
- // 获取请求参数 name age
- String name = request.getParameter("name");
- System.out.println("请求参数name:"+name);
- String age = request.getParameter("age");
- System.out.println("请求参数age:"+age);
- // 获取请求头
- String header = request.getHeader("Accept");
- System.out.println("获取请求头:"+header);
- // 获取请求协议
- String protocol = request.getProtocol();
- System.out.println("请求协议:"+protocol);
- return "OK";
- }
- }
复制代码 http协议请求运行结果如图示:
完整源代码下载:
demo01.zip
(17.66 KB, 下载次数: 0, 售价: 10 金币)
响应状态码
状态码分类 | 说明 | 1xx | 响应中 --- 临时状态码。表示请求已经接受,告诉客户端应该继续请求或者如果已经完成则忽略 | 2xx | 成功 --- 表示请求已经被成功接收,处理已完成 | 3xx | 重定向 --- 重定向到其它地方,让客户端再发起一个请求以完成整个处理 | 4xx | 客户端错误 --- 处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等 | 5xx | 服务器端错误 --- 处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等 | 关于响应状态码,我们先主要认识三个状态码,其余的等后期用到了再去掌握:
- 200 ok 客户端请求成功
- 404 Not Found 请求资源不存在
- 500 Internal Server Error 服务端发生不可预期的错误
常见状态码
https://www.zidiu.com/thread-28-1-1.html
综合项目:
JavaWeb(SpringBoot3+vue3)开发+教学管理系统项目实战
|