Http协议
- Http协议是指客户端和服务器之间通信时,发送的数据,需要遵守的规则。
- Http协议中的数据又叫做报文
请求的Http协议格式:
- 客户端给服务器发送数据叫请求
- 服务器给客户端回传数据叫响应
请求又分为GET请求和POST请求两种方式
a. GET请求
- 请求行
(1) 请求的方式 GET
(2) 请求的资源路径(+?+请求参数)
(3) 请求的协议的版本号 HTTP / 1.1 - 请求头
key:value 组成 不同的键值对,表示不同的含义。
b、POST请求
- 请求行
(1) 请求的方式 POST
(2) 请求的资源路径(+?+请求参数)
(3) 请求的协议的版本号 HTTP / 1.1 - 请求头
key:value 组成 不同的键值对,表示不同的含义。 - 空行
- 请求体
是指发送给服务器的数据
常用请求头的说明:
Accept:表示客户端可以接收的数据类型
Accept-Language:表示可以接收的语言类型
User-Agent:表示客户端浏览器的信息
Host:表示请求时的服务器IP和端口号
哪些是GET请求,哪些是POST请求
GET请求有哪些:
1. form标签 method=get
2. a标签
3. link标签引入css
4. Script标签引入js文件
5. img标签引入图片
6. iframe引入HTML页面
7. 在浏览器地址栏中输入地址后敲回车
POST请求有哪些:
8. form标签method=post
响应的HTTP协议格式
1. 响应行
(1)响应的协议 HTTP / 1.1
(2)响应的状态码 200
(3)响应状态描述符 OK
2. 响应头
空行
3. 响应体
常见的响应码说明:
- 200 表示请求成功
- 302 表示请求重定向
- 404 表示服务器已收到请求,但请求的数据不存在(或地址错误)
- 500 表示服务器已收到请求,但服务器内部错误(代码错误)
web 中/ 的不同意义
在web中,/ 是一种绝对路径
- / 如果被浏览器解析,得到的地址是:http://ip:port/
例如:< a href = “/” > 斜杠 </ a> - / 如果被服务器解析,得到的地址是:http://ip:port/工程路径
例如:
1. < url-pattern>/servlet</ url-pattern>
2 . servletContext.getRealPath("/");
3. request.getRequestDispatcher("/");
特殊情况:response.sendRedirect("/");把 / 发送给浏览器解析,得到 http://ip:port/
九大内置对象
- request ----请求对象
- response ----响应对象
- pageContext ----jsp的上下文对象
- session----会话对象
- application----servletContext对象
- config----servletConfig对象
- out----jsp输出流对象
- page----指向当前jsp的对象
- exception----异常对象
四个域对象
- pageContext(pageContextImpl类)---->当前jsp页面有效
- request(HttpServletRequest类)---->一次请求内有效
- session(HttpSession类)---->一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器)
- application(ServletContext类)---->整个web工程范围内都有效(只要web工程不停止,数据都在)
域对象是可以像map一样存储数据的对象,不同的是他们对数据的存取范围。
顺序、范围:
pageContext------>request------>session------>application