当前位置:   article > 正文

HTTP协议

HTTP协议

1.请求的 HTTP 协议格式

常用的请求为GET请求和POST请求

1.1 GET请求

GET请求由请求行请求头组成。

请求行包括:

  • 请求的方式 GET
  • 请求的资源路径 [/loc+?+请求的参数]
  • 请求的协议的版本号 HTTP/1.1

请求头包括:

各种不同的键值对,key:value 组成,不同的键值对,表示不同的含义。
在这里插入图片描述

1.2 POST请求

POST请求由请求行、 请求头和请求体三部分组成。

请求行包括:

  • 请求的方式 POST
  • 请求的资源路径 [/loc+?+请求的参数]
  • 请求的协议的版本号 HTTP/1.1

请求头由 key:value 的键值对组成。

请求体是发送给服务器的数据。

在这里插入图片描述

1.3 哪些是GET请求,哪些是POST请求?

GET请求有哪些:

  • form标签 method=get
  • a标签
  • 在浏览器地址栏中输入地址后敲回车

POST请求有哪些:

  • from标签 method = post

1.4 响应HTTP协议格式

HTTP响应包括响应行、响应头和响应体

响应行包括:

  • 响应的协议和版本号
  • 响应状态码
  • 响应状态描述符

响应头是 key:value 的形式,不同的响应头,有不同的含义。

响应体就是回传给客户端的数据。

在这里插入图片描述
响应常见的状态码有:

  • 200 表示请求成功
  • 302 表示请求重定向
  • 404 表示请求服务器已经收到,但是请求的数据不存在
  • 500 表示服务器已经收到请求,但是服务器内部错误

1.5 重定向和转发

什么是请求的转发?

请求的转发是指,服务器收到请求后,从一个资源跳转到另一个资源的操作叫请求转发
在这里插入图片描述
特点是:

  • 浏览器地址栏没有变化
  • 总共是一次请求
  • 他们共享Request域中的数据
  • 可以转发到WEB-INF目录下
  • 不可以访问工程以外的资源

如何实现请求转发?

Servlet1 代码:

public class Servlet1 extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
		// 获取请求的参数(办事的材料)查看
			String username = req.getParameter("username");
			System.out.println("在Servlet1(柜台1)中查看参数(材料):" + username);
		// 给材料盖一个章,并传递到Servlet2(柜台2)去查看
			req.setAttribute("key1","柜台1 的章");
		// 问路:Servlet2(柜台2)怎么走
		/**
		* 请求转发必须要以斜杠打头,/ 斜杠表示地址为:http://ip:port/工程名/ , 映射到IDEA 代码的web 目录
		<br/>
		*
		*/
			RequestDispatcher requestDispatcher = req.getRequestDispatcher("/servlet2");
		// RequestDispatcher requestDispatcher = req.getRequestDispatcher("http://www.baidu.com");
		// 走向Sevlet2(柜台2)
			requestDispatcher.forward(req,resp);
		}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

什么是请求重定向?

请求重定向,是指客户端给服务器发请求,然后服务器告诉客户端说。我给你一些地址。你去新地址访问。叫请求重定向(因为之前的地址可能已经被废弃)。

在这里插入图片描述

重定向的特点是:

  • 浏览器访问的地址变化
  • 总共是两次请求
  • 不能共享Request域中的数据
  • 可以访问工程以外的资源
  • 不能访问WEB-INT下的资源

如何实现重定向?

resp.sendRedirect("http://localhost:8080");
  • 1

参考:

[1] 尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/274374
推荐阅读
相关标签
  

闽ICP备14008679号