HTTP基础 Cookie和Session

HTTP

简介

超文本传输协议,http是一个客户端请求和服务器应答的标准(TCP)。

OSI七层协议
应用层

用户感知到的只有最上面一层也就是应用层,用户在应用层上提出需求,比如输入一个网址,这条命令会委托给传输层。

传输层

收到应用层指令后执行,与服务器建立连接。IP会解析为mac地址,每个网卡都有,全世界唯一。

连接方式:

  • UDP

    • 客户端直接连接到服务端,直接发送信息,不会确认。速度很快,安全性低。
  • TCP/IP

    三次握手

    • 客户端向服务器发送连接请求
    • 服务器向客户端发送已收到
    • 客户端收到后建立连接断开时四次挥手

    四次挥手

    • 客户端向服务器发送断开连接请求
    • 服务器向客户端发送已收到
    • 服务器有确保双方没有信息往来后确认断开
    • 客户端再向服务器发送收到
网络层

引入一套新的地址来区分不同的广播域/子网,这套地址就是网络地址。

物理层

任何数据都会序列化,从物理层传出去。

HTTP状态码
  • 1xx——请求已被服务器接收,继续处理
  • 2xx——请求已成功被服务器接收、理解、接受
  • 3xx——需要后续操作才能完成这一请求
  • 4xx——请求错误,无法执行
  • 5xx——服务器在处理某个正确请求时发生错误
无状态

http协议是无状态的,每一个请求都是独立的,服务器根据请求处理后不会记录任何信息,若想获得之前的信息就必须重传,严重阻碍了交互式Web应用程序的实现。

Cookie和Session

HTTP无状态

每一个客户端访问服务器时都会开启一个Session。服务器根据JSESSIONID判断Session属于哪个客户端,它是一不会重复的字符串,服务器会把根据请求生成的数据存到JSESSIONID中。

cookie是属于客户端的一个小型文本仓库。客户端第一次向服务器发送请求时,服务器首先检查这个客户端的请求里是否已包含了一个JSESSIONID,如果已包含说明以前已经为此客户端创开启过session,服务器就按照JSESSIONID把这个 session检索出来使用。如果客户端请求不包含,则为此客户端开启一个session且生成一个与此session相关联的JSESSIONID,服务器响应时将JSESSIONID存到cookie中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值