WEB客户端编程与服务器端编程
一、HTTP协议事务处理过程:
(1)建立连接。HTTP协议是一种无状态协议,对于每一次请求都要求建立一个新的连接。
(2)发送请求。客户向服务器发送一个请求,请求某种类型的服务。
(3)提供服务。服务器为这个HTTP请求提供服务,即开发人员编写一个Servlet模块来处理这个HTTP请求。
(4)发送响应。服务器请求处理完以后,将处理结果换回给客户。
(5)关闭连接。客户的请求、服务器的响应处理完后,关闭连接。
当使用这种协议的时候,所有的请求都是为搜索某一个特定的Web网页而发出的。它不知道现在的请求是第一次发出还是已经多次发出,也不知道这个请求的发送来源。当用户请求一个Web网页的时候,浏览器会与相关的
Web服务器相连接,检索到这个页面之后,就会把这个连接断开。
二、客户端编程
(1)原理:
客户端编程是采用下载到浏览器上的程序来完成所有的有关动态服务的工作。通常的情况是程序员把客户端代码编写到HTML文件中,当用户提出对这个网页的请求时,这些客户端代码(即可以实现动态内容的程序)和HTML文件的代码一起以响应的方式返回给提出请求的浏览器。由于所有的代码(包括程序和HTML标记等)都被浏览器接收,所以这些程序的执行是由浏览器来实现的。常见的客户端编程技术有JavaScript、JScripts、VBScript和Java applet等。
(2)优点:
在动态网页刚刚出现的时候,多数是使用客户端编程的方法来实现网页的动态服务,因为这样做可以减少服务器的负担,充分利用客户端机器的资源。
(3)缺点:
a)由于所有的代码都要下载到客户端来执行,所以相对而言下载的时间就会增加,尤其当程序的代码量很大的时候,下载时间的延长会十分明显。
b)由于所有的客户端代码都是由浏览器来执行的,所以,在程序编制的过程中,需要针对不同的浏览器进行测试,以保证代码的正确执行。因为现在流行的浏览器很多,一个程序能在IE上正确执行,但是在Netscape Navigator上就不一定可以正确执行。这为程序的快速编制设置了很大的障碍。
c)如果需要使用服务器端的资源(例如数据库中的数据),那么采用客户端编程就无法实现。
d)采用客户端编程无法保证代码的安全,因为所有可以访问到这个网页的用户都可以采用浏览器的“查看源文件”命令来看到网页的所有代码(包括HTML代码和客户端程序)。
由于客户端编程有这么多的缺点,而现在的服务器的硬件速度又越来越快,相应可以使用的资源也就越来越多,使得客户端编程可以节省服务器端资源的优势已经大大丧失,所以服务器端编程已经渐渐成为动态网页编程的主流。
三、服务器端编程原理:
程序员编写的代码被保存在服务器上,当用户对某个动态网页提出HTTP请求的时候,这个请求所要访问的网页的代码都在服务器端执行完成,并把执行结果以HTML的形式传回浏览器。这样,由于浏览器接收到的只是程序执行的结果,所以上面提到的所有的问题都可以迎刃而解。常见的服务器端编程技术有:CGI、PHP、ASP、JSP和ASP.NET等。

WEB客户端编程与服务器端编程相关推荐

  1. 客户端编程和服务器端编程有什么区别?

    本文翻译自:What is the difference between client-side and server-side programming? I have this code: 我有以下 ...

  2. 推荐《Linux 多线程服务器端编程》

    赖勇浩(http://laiyonghao.com) 最近,有一位朋友因为工作需要,需要从网游的客户端编程转向服务器端编程,找我推荐一本书.我推荐了<Linux 多线程服务器端编程--使用 mu ...

  3. Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...

    TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题. Jav ...

  4. 文件服务器和客户模式有什么区别,客户端和服务器端编程有什么区别?

    皈依舞 我将尝试以简单的方式解释它.客户端是用户在浏览器上看到/看到的代码.客户端编程包括HTML(HTML,HTML5,DHTML),CSS(CSS,CSS3)和JavaScript(JavaScr ...

  5. Java网络编程入门(二)之客户端与服务器端编程步骤详解

    1.2 网络编程技术 前面介绍了网络编程的相关基础知识,初步建立了网络编程的概念,但是实际学习网络编程还必须使用某种程序设计语言进行代码实现,下面就介绍一下网络编程的代码实现. 1.2.1 网络编程步 ...

  6. java 实现 web 客户端_Java web客户端和服务器端交互的原理

    Java web客户端和服务器端交互的原理 其实HTTP客户端和服务器端的交互原理很简单:即先是浏览器和服务器端建立Socket无状态连接,也就是短连接,然后通过IO流进行报文信息(这个报文是严格遵循 ...

  7. Web全栈~28.网络编程

    Web全栈~28.网络编程 上一期 前言 网络编程往往都是困难.复杂,而且极易出错的.程序员必须掌握与网络有关的大量细节,有时甚至要对硬件有深刻的认识.一般地,我们需要理解网络协议中不同的" ...

  8. 文件下载--服务器端编程操作

    创建DownloadServlet// 1.得到要下载 的文件名称String filename = request.getParameter("filename");//2.判断 ...

  9. 服务器端编程心得(七)——开源一款即时通讯软件的源码

    服务器端编程心得(七)--开源一款即时通讯软件的源码 2017年04月06日 22:57:01 analogous_love 阅读数:30222更多 所属专栏: 高性能服务器编程实现细节详解 版权声明 ...

最新文章

  1. libusb中的热插拔使用举例
  2. 高速串行总线系列(1)8B/10B编码技术
  3. 转载:2016前端开发技术巡礼
  4. db2 迁移mysql,mysql 迁移 db2
  5. 线性链表java实现_java实现线性单链表
  6. Java-命令行传递参数
  7. BZOJ3028 食物
  8. python绘制正方形、利用turlr_《像计算机科学家一样思考Python》学习笔记(四)...
  9. 高项近5套选择题知识点思维导图
  10. python webkit内核_GitHub - yunate/wke: 基于Webkit精简的纯C接口的浏览器内核,可用于桌面UI、浏览器。...
  11. 分布式技术(2)大型网站架构利器-CDN技术
  12. 这游戏全服只有一个玩家,硬是坚挺了18年,官方竟还推新版本?
  13. 只用一个div制作太极图
  14. 虚拟机Ubuntu21.04全屏显示
  15. 中小企业如何做全网营销推广?常见的网络营销推广技巧和策略
  16. 扩展了 jquery 的插件 easy drag (转载 木野狐)
  17. linux 库全局变量_C语言开发单片机为什么大多数都采用全局变量的形式?
  18. 基于Pytorch的cifar10分类网络模型
  19. 用类求长方体的体积和面积
  20. 3.1 有界线性算子与有界线性算子空间

热门文章

  1. STM32C8T6时钟树
  2. python多线程(Multiprocessing)与多线程(Multithreading)区别优缺点最详细解释
  3. 小白零基础C#学习笔记
  4. 模型驱动PDR、数据驱动PDR实验效果对比
  5. SCI审稿流程(转)
  6. ESP-IDF遇到的关于环境变量的问题
  7. Linux网络-网络配置命令
  8. vue和layUi对比
  9. intellijIdea新手上路
  10. matlab三维数据切片二维