WEB应用程序原理(概述)_web程序设计原理_xiaochuhe.的博客-程序员秘密

技术标签: # web应用  前端  服务器  http  

前言:

现在的大部分应用都采用服务端和客户端相结合的模式,其中客户端的应用程序很多,比如浏览器等,而服务端基本上全都采用了“服务器硬件+服务器软件+WEB应用程序”的结构,而WEB应用程序是服务端最核心的部分。


一、WEB应用的发展史

1990年,伯纳斯·李将欧洲核子研究中心的电话号码薄制作成了第一个WEB应用程序,并且在自己的计算机上运行了这个应用程序。同时伯纳斯·李将这个应用起名为World Wide Web (WWW) 万维网。

1991年伯纳斯·李又发明了万维网的三项关键技术:

(1)超文本标记语言(Hyper Text Markup Language,HTML)

(2)统一资源标志符(Uniform Resource Identifier,或URI)

(3)超文本传输协议(Hyper Text Transfer Protocol,HTTP

当今的WEB应用程序分为:静态应用程序和动态应用程序。


二、静态应用程序

 以上是一个静态网页,当网页放在服务器上时,我们访问它需要输入它的URI。URI是标识互联网上某个资源的字符串,web服务器上每个资源都由一个URI进行标识,我们正常所说的URL是统一资源定位符(Uniform Resource Locator )是URI的一种实现,一个简单的URL由以下几个部分组成:

(1)用于访问资源的协议(如HTTP)

(2)与之通信的Web服务器的IP地址,也可以是域名

(3)主机上的资源路径

windows操作系统发布web服务时的情形:

客户端实现的基本功能如下:

(1)将用户的请求按照HTTP协议的标准封装成报文发送给服务器。

(2)将Web服务器发送回来的HTTP应答进行解析,然后以页面形式呈现出来

静态网页技术的缺点:

(1)扩展性差

(2)占用空间大

(3)不能实现交互


三、动态应用程序

一个简单的动态web应用程序

使用动态技术可以很好的解决静态网页技术的缺点,动态技术需要使用专门的服务器端编程语言来实现,比如PHP,JSP,ASP.net等

服务端运行一个使用PHP语言编写的Web应用程序,它的组织结构如下图所示:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaofengdada/article/details/122698113

智能推荐

“程序员资格考试”与水仙花数算法的核心代码_未来之眼的博客-程序员秘密

 #include "stdio.h"void main(){ int i,j,n,s ; for( i=100;i<=999;i++) { n = i; s =0; while(n) { s+=(n%10)*(n%10)*(n%10); n/=10; } if(s ==i) printf(" i= %d

文言文亦能编程,该项目在GitHub摘得5500星!_程序员生活志的博客-程序员秘密

「昔者苍颉作书,而天雨粟,鬼夜哭」,汉字的出现,诞生了世界上一个伟大的文明。而编程语言的出现,让人类和计算机产生了真正的联系,推动了现代文明的发展。那么,将古代汉语和编程语言结合又会产生怎样的火花?最近,GitHub 上出现了一个文言文做代码的项目,几乎是世界上第一门文言文编程语言(当然,底层还是转换成 Python 或 JavaScript 运行)。文言文编程语言横空出世...

JAVA之String函数的20个方法详解_java的string函数_liurongsheng123的博客-程序员秘密

系统类 String()简介主要学习系统的常用方法字符串是个常量 常量字符串只要是对字符串进行操作 都是返回的是一个新的字符串(原字符串不能更改)=练习String str1 = "wanglong";str1 = "刘德华";System.out.println(str1);字符串存在于常量池中字符串本身没有发生变化 而是引用地址发生了变化相当于

Face++人脸识别与检索接口调用_会意的博客-程序员秘密

写了一些Face++人脸识别与检索的接口调用的例子,包含上传人脸图片获得人脸face_token管理自己的faceset人脸库使用新的face_token和自己的faceset人脸库进行人脸检索(避免每次都上传图片)官方提供的接口sdk文档里有充分的说明,基本上都可以看懂,废话不多说,上代码。package com.huiyiygy.face.util;import j...

自定义横向进度条及圆形进度条_掉头发程序员的博客-程序员秘密

在工作中,会遇到Android系统给我们提供的系统进度条样式是非常的有限,无法满足工作的要求!即可以自定义!1—>横向进度条 1,首先找到系统定义定义进度条的位置 sdk\platforms\android-23\data\res\values\styles 然后搜索到如下代码<style name="Widget.ProgressBar.Horizontal"> <item

随便推点

vscode运行c语言 程序_你看这人,真菜的博客-程序员秘密

c语言的程序 文件后缀名为 .c在vscode里面写完代码之后,在终端编译运行gcc 文件名 -o 编译后的文件名ls之后可以看到我们编译后的文件使用下面的命令可以进行文件的运行./ 编译后的文件名 接着会在控制台输出结果。...

linux的pending状态怎么退出,状态pending是什么意思_Tim Ji的博客-程序员秘密

一、pending 是什么意思?定义:信号产生和传递之间的时间间隔内,称此信号是未决的;简单的说就是:一个已经产生的信号,但是还没有传递给任何进程,此时该信号的状态就称为未决状态。二、HTTP Status pending 相关状态还包括哪些?1、待定状态;2、未决状态;3、等待状态;4、检验状态三、出现“pending”如何解决?通过上面讲了“pending 是什么意思?”你应该能明白一个大概的...

分库分表是什么_什么是分库分表_不脱发的宝宝的博客-程序员秘密

1.1.分库分表是什么分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表拆分成若干数据表组成,使单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。1.2.分库分表的方式分库分表包括分库和分表两个部分,在生产环境中通常包括:垂直分库、水平分库、垂直分表、水平分表四种方式。垂直分表定义:将一个表按照字段分成多表,每个表存储其中一部分字段 带来的提升是:a:为了避免IO争抢并减少锁表的几率,查看详情的用户与商品信息

Android线性布局管理器LinearLayout创建--动态生成_安卓动态创建linearlayout_CVSDN的博客-程序员秘密

直接在我们的src下边的MainActivity.java当中写代码,而无需修改xml文件,就可以完成线性布局。public class MainActivity extends Activity {protected void onCreate(Bundle savedInstanceState) {super.onCreate(saved

做题记录命令执行buuctfEasy Calc-程序员秘密

题目Easy Calc查看源代码给提示url 还有 waf绕过发现过滤了许多东西查看根目录发现了flag然后我们将用 file_get_contents() 函数先读取文件为字符串然后用 var_dump 显示字符串得到 flag构造playload然后得到flag题目总结首先我们要发现是题目给的提示,当查看源代码的时候好好的去看,然后我们看到有一个waf绕过,在不知道的情况下我们要去了解一下什么是waf绕过然后打开php文件查看源码时命令执行的一种方式我们根据提示开始分析看题目的

推荐文章

热门文章

相关标签