B/S模式浅析

今天我们部门的技术总监给我讲了一下http协议,我在这里做下整理,可能有些地方理解的有些出入。

B/S模式(browser/servlet),B端是浏览器,S端是web容器。

一、客户端请求服务器

用户通过浏览器发送一个http请求,一般是通过uri更进一步是url来发送http请求,S端收到请求后处理用户的请求,然后通过response返回给用户,页面对返回的数据进行渲染,最终形成用户看到的页面。

HTTP 1.1支持七种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TRACE等,常用的为请求方法是GET和POST。

对于get方法,请求参数会拼接到url上传递给服务器,post方法传递参数则是把参数存放到http的报头中,然后服务器经过解析来获得请求参数。

二、客户端、服务器端的会话

http协议是无状态的,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。既然无状态服务器端是怎么确定客户端每次请求是不是同一个会话呢。对于服务器端可以通过session来存储会话信息,但是怎么和客户端进行对应呢,客户端是通过cookie来存储会话信息的。其实客户端每次请求在http的请求头里边都会自动的存储了cookie信息(如果浏览器支持cookie),服务器通过解析cookie信息来和session存储的会话信息进行对应来确定是不是同一个会话。你可以通过ff浏览器看下,每个http请求的请求头里边都有cookie信息。如果浏览器不支持cookie或者禁用了cookie,那么只能通过程序手动的生成一个标示通过url提交到服务器,同时客户端保存这个标示。

三、web容器

服务器端的web容器,我就说tomcat和apache吧,tomcat是servlet容器,所有jsp页面被编译为servlet然后out.print为html代码,再加上js、css、图片等渲染整个页面。

通过ff浏览器我们发现js和css、图片等都会单独的进行http请求,其实确实是这样。这样对于高并发的系统,显然都交给tomcat会出问题,我们可以通过tomcat+apache,让一些静态的东西,比如完全静态的页面、图片、js、css等有apache管理,在apache下配置虚拟路径即可,这样静态的东西都有apache处理,tomcat只处理html代码可以优化系统的速度。

上边都是我自己总结的,觉得有点乱,谁理解的更深入可以给我回复。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值