Http协议详解
HTTP协议:规范浏览器和服务器的数据交互格式(超文本传输协议)
请求方法常用有:GET,HEAD,POST. 每种方法规定了客户与服务器
的类型不同。
灵活:HTTP允许传输任意类型的数据对象,正在传输的Content—Type加以标记
无连接:限制每次连接只处理一个请求,处理完客户请求,收到客户应答后,断开连接,采用
该方式可以节约时间
无状态:对于事务处理没有记忆能力。缺少状态以为如果需要处理前面信息
需要重传,导致可能连接传送的数据量增大。另一方面,在服务器不需要先前信息时
应答比较快
支持B/S C/S 模式
HTTP1.1版本后支持可持续连接
**Http交互流程:**
步骤1:客户端与服务端建立连接
步骤2:客户端发送请求数据到服务器端(http协议)
步骤3:服务器端接收到请求后,进行处理然后将处理结果响应客户端(http协议)
步骤4:关闭客户端和服务端连接(http1.1后不会立即关闭)
http协议请求格式
请求头:请求方式,请求地址和http协议版本
请求行:消息报头,一般用来说明客户端要使用的一些附加信息
空行:位于请求行和请求数据之间,空行是必须的
请求数据:非必须
**注意:**
一张网页内容及其丰富,浏览器会遵循HTTP请求格式将有效数据发送给服务器。
两种请求方式的特点:
get请求:方式不能携带大量数据(只能查少量数据) 请求数据拼接在URL后面
post请求:不限制大小 URL看不到具体数据 安全,适合量大的数据
常见的状态码:
Servlet的一些基本步骤
package xyz.hkwlw;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//设置请求编码格式
req.setCharacterEncoding("utf-8");
//设置响应编码格式
resp.setContentType("text/html;charset=utf-8");
//获取响应信息
//处理响应信息
//直接响应
resp.getWriter().write("this is my first servlet");
System.out.println("this is my first servlet");
//请求转发
//req.getRequestDispatcher("main").forward(req, resp);
//重定向
//resp.sendRedirect("/login/main");
//响应结果处理
}
}
----尚学堂老师教