1. 服务器
服务器又称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括 处理器CPU、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,Web服务器等。
注意:客户层(browser):用户接口和用户请求的发出地,典型应用是网络浏览器;
服务器层(web server):典型应用是Web服务器和运行业务代码的应用程序服务器
数据层(data tier):典型应用是关系型数据库和其他后端(back-end)数据资源, 如Oracle和LDAP 等。
2. Web服务器
Web服务器是指驻留于因特网上某种用做服务器的计算机的程序(软件),可以向浏览器等Web客户端提供文档(而浏览器负责解释这些服务器发来的文档,如html文档、asp文档等)。你可以放置网页文件,让全世界浏览;可以放置数据文件,让全世界下载。
每个页面都以 HTML 的形式传送到你的浏览器中,HTML 是一种浏览器用来描述页面内容和结构的语言。那些负责发送 HTML 到浏览器的应用称之为“Web 服务器”
动态网页技术:
注意:1)当用户请求一个*.asp(*.jsp,*.php,cgi等)页面时,Web服务器(Apache Nginx IIS)响应HTTP请求,调用asp(jsp,php,cgi等)引擎,解释(编译)被申请文件,但是这里注意了,解释和编译的仅仅是嵌入的asp(VBScript或javascript脚本语言)、jsp(Java程序段)、php(php脚本语言)、cgi(c,c++,perl,php等语言书写的外部程序)代码,如变量的代换等特定的工作,这样才能实现动态网页的实时更新。脚本在服务器端运行,不受客户端浏览器限制,便于存取数据库。
2)若脚本中含有访问数据库的请求,就通过ODBC或者OLE DB(JDBC)与后台数据库相连,由数据库访问组件执行访库操作;
3)ASP等脚本在服务器端解释(JSP在服务器端是编译)执行,根据访问数据库的结果集自动生成符合HTML语言的主页,最後得出一个动态生成的网页,去响应用户的请求。所有相关的发布工作由WWW服务器负责。
从上面的分析可以看出,服务器端所做的工作就在于怎样根据客户端浏览器的请求生成对应的HTML文档,这其中还包括解释或编译嵌入的代码、访问数据库等工作。那么在“生成响应的HTML文档”前后必然就涉及到接受HTTP请求、解析HTTP请求、发送HTTP响应灯工作,不过不要担心,这些“杂活”可以由服务器端专门的软件来完成,我们的工作重点只是“根据客户端浏览器的请求生成响应的HTML文档”,可以使用python来完成(用框架,并辅之以html、javascript技术)。
目前最主流的三个Web服务器是Apache Nginx IIS(这三者都是软件,即安装在服务器端上的软件,用于响应、处理客户端发来的请求)。
Apache Nginx IIS是服务器端的软件,它们可以调用asp,jsp,php,cgi的引擎,着重从上图看它们的调用关系。
Apache HTTP Server(简称Apache)是一个开源网页服务器软件,可以在大多数计算机操作系统中运行,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
3.Web框架frame
4.cookie & session(会话)
1、该店的店员很厉害,能记住每位顾客的消费数量,只要顾客一走进咖啡店,店员就知道该怎么对待了。这种做法就是协议本身支持状态。
2、发给顾客一张卡片,上面记录着消费的数量,一般还有个有效期限。每次消费时,如果顾客出示这张卡片,则此次消费就会与以前或以后的消费相联系起来。这种做法就是在客户端保持状态。
3、发给顾客一张会员卡,除了卡号之外什么信息也不纪录,每次消费时,如果顾客出示该卡片,则店员在店里的纪录本上找到这个卡号对应的纪录添加一些消费信息。这种做法就是在服务器端保持状态。
<form name="testform" action="/xxx">
<input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764">
<input type="text">
</form>
实际上这种技术可以简单的用对action应用URL重写来代替。