HTTP是一种不保存状态,即无状态协议。所以如果你想要记录用户登录状态,你必须保存用户的状态,Cookies就是用来管理状态的,它在请求和响应报文中写入Cookie信息来控制客户端的状态,过程如下:
- 客户端发送HTTP请求;
- 服务器生成Cookie并在响应中添加Cookie(在报文内有一个叫做Set-Cookie的首部字段信息)后返回;
- 客户端保存Cookie;
- 客户端在第二次请求中添加Cookie后发送;
- 服务器检查Cookie来识别出是哪个客户端发来的请求并进行响应;
请求HTTP的方法常用的有两种:
1. GET方法,用来请求访问已被URI识别资源,例如客户端告诉服务端请给我那个资源,GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?;
2. POST方法,用来传输实体的主体,POST把提交的数据放置在是HTTP包的包体中,所以这种方法比GET方法更加安全;
HTTP默认是持久连接,即任意一端没有明确提出断开连接,则保持TCP连接状态。
一个完整的请求过程如下:
三次握手—》请求—》请求—》…—》四次挥手
HTTP支持管线化方式发送,即不需要一个接一个地等待响应,可以做到同时并行发送多个请求。