HTTP协议

get请求

1.从服务器获取数据,返回响应的实体部分,可以类比数据库的select操作,不会影响数据库本身。

2.没有请求体

3.请求参数附在URL后,以?开始,多个参数使用&分割

4.通常对数据不敏感的请求使用get请求,因为参数跟在URL后不安全

5.传输的参数长度是有限制的


post请求

1.向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求中。POST请求可能会导致的资源的建立和/或已有资源的修改。

2.通常post请求含有请求体

3.请求参数存放在请求体重,可以任意格式

4.相对来说数据比较安全

5.请求数据无大小限制,可以认为是无限制


cookie是什么?

再次登录的时候就无需再输入账号和密码即可登录网站,这种方法就是通过cookie机制实现的。

用来记录用户的状态和用户的身份

cookie是由服务器发送给客户端的特殊信息,而这些信息,以文本文件的方式存在客户端,然后客户端每次向服务器发送请求的时候就会带上特殊信息,以便服务器做身份识别

cookie处理过程

当用户第一次请求服务器时,请求报文中并不会包含cookie信息,当服务器接收客户端的请求时,会响应信息给客户端,这时候响应报文的头部会包含一个set-cookie字段信息,并包含了用户的身份信息。当客户端收到set-cookie时,会把cookie保存在本地(内存或者硬盘中)

当客户端再次发送请求报文给服务器时,请求报文头部会携带cookie信息并发送给服务器,服务器通过cookie自带的信息分析,动态生成与该客户端相应的数据。



Session是什么?

Session是另外一种记录客户状态和身份的机制,不同的是Cookie保存在客户端本地中, 而Session保存在服务器中

与Cookie机制作用相同,只不过Cookie是通过检查客户身上的通行证确定客户身份,而Session则是通过服务器上的客户明细表来确认客户身份

Session处理过程

当客户端第一次请求服务器时,服务器会创建一个Session并为该Session分配唯一标识Session id,并向Session中添加内容,服务器收到客户的请求后,会返回给客户端响应的信息,那么响应报文头部会携带Session id返回给客户端

当客户端再次请求服务器时,请求报文头部会携带之前的Session id(session id 是需要通过cookie传递), 服务器收到请求后根据Session id查找对应的session内容, 并分析对比是否为同一个客户端发来的请求,接着返回相应的数据给客户端


cookie机制采用的是在客户端保持状态的方案,而seesion机制采用的是在服务器保持状态的方案

你可能感兴趣的:(HTTP协议)