今天我们部门的技术总监给我讲了一下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代码可以优化系统的速度。
上边都是我自己总结的,觉得有点乱,谁理解的更深入可以给我回复。
分享到:
相关推荐
CAD/CAM技术浅析.pdf
B/S架构的项目管理软件不需要暗转任何的软件,只要一台电脑,一条网线就可以实现。无论是内部或者外部的用户都可以随时访问系统,Web和Client/Server应用都可以进行同样的业务处理,不同的应用模块共享逻辑组件,...
应用系统架构的发展经历了客户端/ 服务器(C/S) 和浏览器/ 服务器(B/S)两个阶段。B/S 具有利用网络资源、智 能化部署与更新、松散式连接等优点,而C/S 只能离线工作,不 能充分利用本地资源等。
Java 观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者...
linux新手GDB入门,以c/c++为例,讲解GDB常用的操作。。。。。。
“互联网+”时代社区治理模式浅析.docx
浅析MYSQL数据库C/S浏览器设计.pdf
这篇文章是对于当前常见的23种设计模式的一种浅析与解释,参考别人的文档,并按照一定的格式以论文的方式进行排版,希望能分享一下。
人人网技术构架及盈利模式浅析 人人网技术构架及盈利模式浅析
主要介绍了php输入流php://input使用浅析,本文只是作为一个简单的了解,给出的例子也相对简单,需要的朋友可以参考下
设计模式论文浅析,对设计模式的起源,分类等进行了系统的描述
浅析直播电商模式.pdf
随着IEEE 802.3ba标准的制定完成,100Gbit/s以太网技术已经得到验证并标准化。400Gbit/s以太网和OTN(光传输网)标准成为了下一
浅析麦当劳经营模式,浅析麦当劳经营模式,浅析麦当劳经营模式,浅析麦当劳经营模式
浅析两种安全运维管理模式 (2).docx浅析两种安全运维管理模式 (2).docx浅析两种安全运维管理模式 (2).docx浅析两种安全运维管理模式 (2).docx浅析两种安全运维管理模式 (2).docx浅析两种安全运维管理模式 (2).docx...
浅析美国市场经济模式.docx
移动互联网商业模式浅析.pdf适合研究互联网商业模式的朋友学习
深入Java单例模式浅析,最全面的深入解析