1、定义不同:
客户端:客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。
服务器端:服务器端,从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对服务器端外提供ftp服务,也可以叫服务器)。
2、程序编写:
客户端:客户端程序不需要我们编写,可以使用IE或者FireFox等浏览器。
服务器端:需要编写Server服务端程序。
3、组成不同:
客户端:浏览器既是客户端。
服务器端:中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱和相关软件。
4、储存方式不同:
客户端:不需要储存。
服务器端:包括SAS/SATA、PCIe闪存卡、NVMe闪存和双列直插式内存插槽的实现在内有多种方式部署服务器端闪存。
5、服务对象不同:
客户端:使用客户服务。
服务器端:为客户端服务。
参考资料:
百度百科:服务器端
百度百科:客户端
我猜测hraccp可能有这样的误解,觉得JSP的代码实在客户端页面上的,而Servlet实在服务端的,所以觉得怎么会在客户端和服务端都能request.getsession 呢?!刚才楼上也提到了,JSP本质上也是servlet,事实上与其说写JSP页面是在html中嵌入Java代码,不如说是在Java中嵌入HTML的代码,而本质上,JSP的处理也的确如此,系统(也就是挂在tomcat容器上的编译库,你可以通过web.xml中有关*.jsp的servlet映射找到)会把JSP页面变成一个类,这个类是HTTPServlet的子类,凡是出现html的地方都会替换成类似于out.println(HYML代码)。然后调用这个servlet的doGet等入口方法执行它,并交付request、response等对象。
request和response都是tomcat产生的,也就是说都是在服务端产生的,只不过一个描述的是请求信息,一个描述的是响应信息而已。不要认为request就是运行在客户端,那就错了。
Session存储在服务器的内存中。
浏览器第一次访问服务器会在服务器端生成一个session,有一个sessionid和它对应。它存储在服务器的内存中,tomcat的StandardManager类将session存储在内存中,也可以持久化到file,数据库,memcache,Redis等。
客户端只保存sessionid到cookie中,而不会保存session,session销毁只能通过invalidate或超时,关掉浏览器并不会关闭session。
session机制
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识——称为session id,如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个)。
如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。
以上内容参考 百度百科--session(计算机术语)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)