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。
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请求方式更安全。
HTTP响应消息
HTTP响应状态行
HTTP响应状态行位于响应消息的第一行,包含HTTP版本、状态码
HTTP/1.1 200 OK
请求行中的每个部分需要用空格分隔,最后要以回车换行结束。
HTTP响应消息头
Servlet
由Web容器负责创建并调用,用于接收和响应用户的请求。
HttpServletResponse对象
封装HTTP响应消息。
HttpServletRequest对象
封装HTTP请求消息。