Java Web基础

Http协议

HTTP是实现客户端和服务器端通信的重要协议。一个完整的请求消息是由请求行、请求头和实体内容三部分组成。

HTTP请求行

包含三个部分,分别是请求方式、资源路径和使用的HTTP版本。

GET /index.html HTTP/1.1

GET是请求方式,index.html是请求资源路径,HTTP/1.1是通信使用的协议版本。

GET方式

参数放在请求行中的资源路径后面

https://music.163.com/#/playlist?id=509123969&userid=3610523773

在上述URL中,"?" 后面的内容为参数信息。参数是由参数名和参数值组成的,并且中间使用等号(=)进行连接。如果URL地址中有多个参数,参数之间要"&"分隔。

需要注意的是,使用GET方式传送的数据量有限,最多不能超过1kb。

Java Web基础

POST方式

表单数据作为HTTP消息的实体内容,而不是作为URL地址的参数传递。在使用POST方式向服务器传递数据时,Content-Type消息头会自动设置为“application/x-www-form-urlencoded”,Content-Length消息头会自动设置为实体内容的长度。

实际开发过程中,通常会使用POST方式发生请求,原因:

1)POST传输数据大小无限制

由于GET请求方式是通过请求参数传递数据的,因此最多可传递1KB的数据。而POST请求方式是通过实体内容传递数据的,因此可以传递的大小没有限制。

2)POST方式比GET方式更安全

由于GET请求方式的参数信息都会在URL地址栏明文显示,而POST请求方式传递的参数隐藏在实体内容中,用户是看不到的,因此,POST比GET请求方式更安全。

Java Web基础

Java Web基础

HTTP响应消息

HTTP响应状态行

HTTP响应状态行位于响应消息的第一行,包含HTTP版本、状态码

HTTP/1.1 200 OK

请求行中的每个部分需要用空格分隔,最后要以回车换行结束。

HTTP响应消息头

Java Web基础

Servlet

由Web容器负责创建并调用,用于接收和响应用户的请求。

HttpServletResponse对象

封装HTTP响应消息。

HttpServletRequest对象

封装HTTP请求消息。