近正着手一个大型综合性门户网站后台管理系统(准确说是内容管理系统)设计 
与规划,对网站开发技术有一个较深刻的认识。从Internet的出现到现在,WebSite的开发技术有4个过程: 
          1.静态WebSite,页面均为静态,无数据库支持。 
          
          2.动态WebSite,这是当前中小型WebSite使用最多的技术,也就是数据库驱动的 
  的WebSite 
          
          3.动态内容静态发布技术。这是当前比较先进Web开发技术。随着用户访问量的增加 
,当日访问量上万甚至更多时,Web服务器的负载迅速增大,达到满载甚至超载,大大降低 
了系统的效率甚至导致系统难以运行,尽管从DBMS的升级和硬件设施的升级可以适当解决 
这个效率瓶劲问题,但这大大增加了成本。另外,我们要提高在搜索引擎中的应用。搜索 
引擎中的“机器人程序”在搜索过程中遇到动态网页时,比如:News.asp?Year=2003& 
Month=12&Date=19时,机器人程序在检索这个字符串中遇到“?”和“&”,时就会进入死循环,因此机器人程序要避免进入死循环而用的“机器人陷阱程序”,此时,它只能搜索到 
News.asp这个页面的内容。而我们采用动态内容的静态发布技术后News.aspYear=2003& 
Month=12&Date=19这个URL转换成静态的News/2003121911062033.htm,这个静态页面的内容就是News.aspYear=2003&Month=12&Date=19生成的内容,不仅提高被搜索的概率, 
而且使系统的效率提高很多(因为当Web用户请求访问这个页面是不需要向数据库系统请求 
数据).这种技术在大、中型综合性网站普遍应用,如新浪,搜狐。

4.基于Cache的发布技术(反向代理)。 
          以前做应用的时候也用过一些方式:应用首次访问以后将生成的内容存成一个缓存文件,下次请求时从缓存目录中读取缓存文件,内容更新时,应用把内容从缓存目录中删掉,从而减少对数据库的访问。虽然这样做也能承载比较大的负载,但这样的内容管理和缓存一体的系统是很难分离的。

如果换一个思路:通过一定的分工现内容管理和缓存机制2者的分离,你会发现无论哪一方面可选的余地都是非常大的。甚至有可能利用目前的已经是“功能”比较全面的内容管理系统,而让所有“效率”问题都由前台更专业,而且是很容易分布的缓存服务器解决:可以是通过开放源代码的SQUID做反相代理的WEB加速,可以是专门的缓存硬件设备,甚至是专业的缓存服务商。

动态缓存必须有一个基于静态链接本身的参数解析过程,很多专业内容管理系统系统都是将参数解析机制做成了WEB服务器的模块实现的。

我们可以把以前的HTTP/GET方式的?key=value改为直接用/value1/value2的方式来传递,从而实现了动态页面的静态URL形式。而缓存只需要在前端加上一层CACHE服务器,比如:Squid。网站动态内容的动态缓存发布就可以实现了。

这是当前最先进的网站开发技术,实现了真正意义上的软件工程,实现开发过程 
中的真正分工开发,开发过程中相互依赖大大降低,提高了开发速度。美工只管模板的 
设计,页面策划师也只顾版面策划,Web程序员只顾功能模块的开发,而系统集成的程序员 
只顾将页面模板和程序模块的调用和逻辑集成,实现了界面和内容完全分开,即所见所得,在网站管理中,美工可以完全不懂程序去维护模板,而技术管理员则不考虑界面去处理程序。

Web开发中软件工程艺术(Web程序员请进来谈谈,特别是有大型门户网站后台开发的程序员)相关推荐

  1. chatgpt赋能python:Python是一门非常流行的编程语言,它被广泛应用于不同领域的软件开发中,包括Web开发、数据科学、人工智能等。虽然Python本身非常强大和灵活,但是要让自己的Pyt

    Python是一门非常流行的编程语言,它被广泛应用于不同领域的软件开发中,包括Web开发.数据科学.人工智能等.虽然Python本身非常强大和灵活,但是要让自己的Python代码在互联网上被搜索引擎优 ...

  2. 常用的网站后台开发程序有哪些?

    静态页面建设完成后,如果网站还需要具备一些动态功能(例如搜索功能.留言板.注册登录系统.新闻信息发布等),就需要开发动态功能模块,需要用到网站后台开发程序来完成,目前广泛应用的网站后台开发程序有PHP ...

  3. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之功能实现

    [千纸诗书]-- PHP/MySQL二手书网站后台开发之功能实现 前言:前一篇温习了网站开发需要掌握的基础知识,这一篇重点梳理一下各个功能模块的[详细设计与实现].项目github地址:https:/ ...

  4. HTML编程、网站前台设计、网站后台开发

    HTML编程.网站前台设计.网站后台开发 HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定,是最新的网页编程语言标准,符合当代的网络需求.广义论及HTML5时,实 ...

  5. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之项目设计

    [千纸诗书]-- PHP/MySQL二手书网站后台开发之项目设计 前言:这个项目是毕设时候做的,我负责后台数据操作部分,已经很久了,这次回顾这部分,是为了复习PHP和MySQL的知识,正好现在在公司也 ...

  6. php网站后台开发教程,WordPress做网站后台开发教程

    课程目标:学会Wordpress网站后台开发 目录: 第一课.后台开发集成WPD设置模板 1 第二课.添加修改设置模块 2 第三课.主题设置前台调用 3 第四课.企业主题集成演示 4 第一课.主题集成 ...

  7. java路径Java开发中获得非Web项目的当前项目路径

    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--java路径 Java开发中指定路径搜索文件也是经常遇到的,比如遍历某个目录下的文件.须要取得项目的路径.调用调查主要有两种 1.利用S ...

  8. 11年程序员给本科、研究生应届生以及准备从事后台开发同学的建议,学习进阶之路

    校招形势 目前校招招聘中,后台开发或服务器开发的岗位需求一度火热,甚至超过了算法岗.不少同学从诸神黄昏的算法岗战场上退下,转向更偏向工程能力的后台开发岗,从而造成后台开发岗位竞争的大爆发. 后台开发工 ...

  9. AE开发中“无法嵌入互操作类型*****,请改用适用的接口”解决办法

    问题:在AE开发中遇到:"无法嵌入互操作类型*****,请改用适用的接口" 解决办法:在"项目解决方案"中找到"引用",找到报错出现的类对应 ...

最新文章

  1. windows下DOS命令关闭占用的端口
  2. asp.net 生成下载word的两种方式
  3. 使用Golang时遇到的一些坑
  4. C++static关键字
  5. python怎么加图片_怎么在图片旁边加文字 python如何在图片上添加文字 - 励志 - 52资讯网...
  6. vuex页面数据丢失_解决 vuex 中的数据在页面刷新之后就丢失的问题
  7. Windows 8 Directx 开发学习笔记(二)建立模型及初始化设备
  8. ThoughtWorks持续集成平台GO开源了
  9. android LBS模式,android: 如何开启webview的LBS功能
  10. MySQL-锁表和解锁
  11. 好不容易说明白AQS,面试官却还要我说应用场景,我只好又讲了CountDownLatch ~~~
  12. DNA-蛋白翻译过程的Python实现
  13. 【unmatched host】nfs挂载 提示“: refused mount request from xx for /nfsdata (/nfsdata): unmatched host ”
  14. 认识Access中的MDE文件
  15. 【装机吧】Win7电脑系统32位和64位区别(详细版)
  16. dz plugin.php,解决dz论坛提示“插件不存在或已关闭”
  17. android studio调用电话,Android studio案例之实现电话拨号
  18. Android 仿微信语音聊天音量大小显示控件
  19. latex 公式 (正式,非正式。编号,不编号)
  20. 学生信息管理系统测试总报告

热门文章

  1. android wifi连接流程,(九十三) Android O 连接WiFi AP流程梳理续——保存网络-Go语言中文社区...
  2. SpringBoot【The request was rejected because the URL was not normalized】
  3. ubuntu中将usb串口设备名称固定
  4. java atlas mysql_jdbc连接atlas报错
  5. Linux 压缩文件与命令
  6. 用matlab画图像,用MATLAB画出图像的幅度和方向角的图像并画出它们的直方图
  7. 我要搬家到CSDN了,好吧
  8. 有哪些好用的设备巡检类的软件?
  9. 入职华为云计算工程师值得嘛?
  10. children的childNodes区别