2020-06-09日志

2020-06-09  本文已影响0人  爱玩游戏的野生码农摄影师

服务器端编程介绍

大多数的大型网站采用服务器端编程来在需要的时候动态展示不同的信息,这些信息通常会从服务器上的数据库中取出,然后发给客户端,并通过一些代码(比如HTML和Javascript)展示在客户端。

或许服务器端编程的最大益处在于它允许你对不同的用户个体展示不同的网站信息。动态网站可以高亮基于用户喜好和习惯的与用户相关度更高的内容。通过存储用户的偏好设置和个人信息使得网站更加易于使用——比如通过重复使用信用卡的详细信息来简化后续付款流程。

它允许在页面中与用户进行交互,比如通过邮件或者其他渠道发送通知和更新信息。服务器端的所有的这些能力使得网站可以与用户有更深的联系。

在现代的web开发中,学习服务器端编程是很被推荐的。

服务器端编程

网络浏览器通过超文本传输协议(HTTP)来和网络服务器进行通讯。当你在网页上点击一个链接。或提交一个表单,再或进行一个搜索时,一个HTTP请求就从你的浏览器发送到了目标服务器。

这个请求包括一个标识所请求的资源的URL,一个定义所需操作的方法(比如获取,删除或者发布资源),还可以包括编码在URL参数中的附加信息。附加信息以键值对(参数和它的值)的形式,通过一个查询字符串,作为POST数据(有HTTP POST方法发送)或存放在与之相关联的Cookie中。

网络服务器等待客户端的请求信息,在它们到达的时候处理它们,并且回复网络浏览器一个HTTP响应信息,这个响应包含一个表明该请求是否成功的状态行(比如“HTTP/1.1 200 OK”代表请求成功)。

相应一个请求的成功回应包含被请求的资源(比如一个新的HTML页面,或者图片等),然后这些会被展示在客户端的网络浏览器上。

静态网站

下面这张图展示了一个静态网站的基本架构。(静态网站是指无论何时当一个特定资源被请求的时候都返回相同的被硬编码的内容)当用户想要导航到某个页面时,浏览器会发送一个指定到这个页面的URL的HTTP“GET”请求。服务器从它的文件系统中检索被请求的文件,然后返回一个HTTP回应,该回应包括被请求的文件和一个状态码(通常200代表操作成功)。如果出于某些原因被请求的文件无法检索到,就会返回错误码。(具体可以参照客户端错误回应和服务器错误回应)

动态网站

动态网站是指,一些响应内容只有在被需要的时候才会生发的网站,在一个动态网站上,页面通常是通过数据库的数据植入到HTML模板中的占位符中而产生的(这是一种比使用静态网站有效得多的存储大量内容的方式)。

动态网站可以基于用户提供的个人信息或者偏好设置来返回不同的数据,并且可以展示作为返回一个回应的内容的一部分的其他操作(比如发送通知)。

大多数支持动态网站的代码必须运行在服务器上。编写这些代码就是所谓的“服务器端编程”(有时候也称“后端脚本编写”)

下面的图表展示了一个动态网站的简单架构。就像之前的图表那样,浏览器发送HTTP请求给服务器,然后服务器处理请求并且返回合适的HTTP响应。

动态网站对于静态资源的请求的处理方式和静态网站是一样的(静态资源是指那些不会改变的文件——最典型的就是:CSS,Javascript,图片,预先生成的PDF文件等)

对于动态资源的请求则会指向(2)服务器端代码(在图中显示未Web Application(网络应用 ))。在处理“动态请求时”,服务器会首选解释请求,从数据库中读取被请求的信息,然后将这些被检索的信息组合到HTML模板中(4),最后返回一个包含所生成的HTML页面的回应(5,6)

上一篇 下一篇

猜你喜欢

热点阅读