认知Web服务器_PHP教程
在许多用户看来,一个Web网站的成败主要在于它所提供的内容和功能,殊不知支持这些内容和功能的Web服务器才是真正的幕后英雄。据统计,全世界已有500多万个网站。每个网站的后面都运行着一个Web服务器,那么什么是Web服务器?它是怎样工作的?...... 从C/S到Web 最早的网络系统是简单的主机/终端系统,所有的应用程序都由主机完成,终端只是运行服务器上相应的程序。PC时代的到来,使计算机网络和计算机应用得到了很大的发展,由于PC价格的不断下降和性能的不断提高,面向终端的大型主机的应用领域越来越少。特别是网络操作系统如NetWare和Windows NT的兴起,以及网络数据库系统的出现,开辟了网络应用的新模式——C/S(Client/Server-客户/服务器)模式。C/S模式是一种两层结构的系统,第一层是在客户机上处理表示逻辑与业务逻辑,第二层则是通过网络运行的数据库等服务器系统。C/S模式将事务分开进行处理,实现了网络的分布式计算,很长时间里也帮助企业实现了局域网建设,完善了企业内部业务管理,提高了工作效率。然而C/S模式在系统的集成与维护、操作界面一致性、系统的扩展性等方面都存在明显的局限性,所以就象主机/终端式网络被C/S模式的网络系统所取代一样,在Internet/Intranet技术环境里,也会出现更新的系统模式。 基于Web技术的Internet/Intranet近年来已经得到了广泛的应用,Intranet是以TCP/IP协议为基础、以Web为核心的企业内部网,用户通过低成本、简单易用的客户浏览器就能随时随地到企业的Web站点上查阅自己所需的数据。浏览器客户端操作界面的一致性避免了C/S模式客户端程序的多样性,而服务器端的开放和基于标准的连接方案使企业很方便地通过Internet同外界联系;同时,Web信息动态的、交互式的发布方式从根本上改变了企业的服务质量,增加了企业的商业机会。 图1 Web三层结构 在三层结构的Web技术中,数据库不是直接向每个客户机提供服务,而是与Web服务器沟通,实现了对客户信息服务的动态性、实时性和交互性。这种功能是通过诸如CGI、ISAPI、NSAPI以及Java创建的服务器应用程序实现的。如图1所示。 什么是Web服务器(Web Server) Web技术的独特之处是采用超链接和多媒体信息。Web服务器使用超文本标记语言(HTML-HyperText Marked Language)描述网络的资源,创建网页,以供Web浏览器阅读。HTML文档的特点是交互性。不管是一般文本还是图形,都能通过文挡中的链接连接到服务器上的其他文档,从而使客户快速地搜寻他们想要的资料。HTML网页还可提供表单供用户填写并通过服务器应用程序提交给数据库。这种数据库一般是支持多媒体数据类型的。 Web浏览器(Web Browser)是一个用于文档检索和显示的客户应用程序,并通过超文本传输协议HTTP(HyperText Transfer Protocol)与Web服务器相连。通用的、低成本的浏览器节省了两层结构的C/S模式客户端软件的开发和维护费用。目前,流行的Internet Explorer和Netscape Navigator除提供基本的文档检索、显示和导航特性外,还支持HTML的高级显示(如表和帧)以及ActiveX、Java、JavaScript等特性。 Web服务器是怎样工作的 在许多用户看来,一个Web网站的成败主要在于它所提供的内容和功能,殊不知支持这些内容和功能的Web服务器才是真正的幕后英雄。那么,一个Web服务器是怎样工作的呢? 几年前,当Web服务器刚刚出现的时候,它所支持的应用只是简单的HTML文件和图像的浏览,当Web服务器接到一个对Web页面的请求,如http://www.ccidnet.com.index.html,就会通过URL(Uniform Resource Locator-统一资源定位器)定位到相应的宿主文件服务器上,并找到相应的文件index.html,然后从宿主文件服务器上下载该文件并通过HTTP协议把它传输给Web浏览器(Web Browser)。当然,这只是一个基础功能,Web服务器同Web浏览器之间的关系远非这样简单。Web应用的最重要的一个扩展是动态内容的引入。例如,Web服务器可以根据用户输入的请求,去直接或间接地创建Web网页,然后返回给Web浏览器。最早实现动态内容应用的方法是通过CGI(Comman Gateway Interface公共网关接口),它对Web服务器上程序的运行及Web服务器同Web浏览器之间动态内容的传输有一个基本的定义。如图2 所示。 Web应用的另一个进展是HTTPS(HyperText Transmission Protocol, Secure安全超文本传输协议)的出现,这种协议保证了Web服务器和Web浏览器之间的通信安全,从而使得电子交易成为可能。 Web服务器同Web浏览器之间的通信是通过HTTP协议进行的,那么,什么是HTTP协议?简单说,HTTP协议是Web浏览器和Web服务器之间的应用层协议,它基于TCP/IP协议,是通用的、无状态的、面向对象的协议。它的作用原理包括四个步骤: 图2 CGI定义图 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接成功。 请求:Web浏览器通过socket向Web服务器提交请求。 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。 关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。 这样,Web服务器的处理过程包括了一个完整的逻辑阶段:接受连接——产生静态或动态内容并把它们传回浏览器——关闭连接——接受下一个连接,如此进行下去。可以想象,在访问者多的情况下,服务器必然会应接不暇。解决这个问题可以借助两种技术:多线程和多进程。Web服务器支持Unix系统的端口监视模块(一种多进程的模式)、多线程、多进程或两种技术的混合。 有了连接,Web服务器怎样向Web浏览器提供内容呢?这里的关键是内容必须能为浏览器识别并且表现出来。这其中决定如何显示内容的主要机制是MIME(Multiple Purpose Internet Mail Extension-多用途因特网邮件扩展)类型,MIME会告诉Web浏览器什么样的文档将被发送,而且,这种类型的鉴别并不局限于简单的图象文档和HTML文档。例如,Apache WebServer 的mine.type配置文件中有370种缺省的MIME类型,而且这还不是MIME类型的全部。MIME类型通过与文件后缀相关的类型/子类型语法来区分,例如,包含MPEG视频内容的文件会有mpeg、mpg或mpe的后缀。 Web服务器的作用最终体现在对内容特别是动态内容的提供上,这也是Web服务器同应用服务器的根本不同,Web服务器主要负责同Web浏览器交互时提供动态产生的HTML文档(除了提供HTML文档服务外,Web服务器还提供诸如XML格式的应用数据,也就是说,Web服务器不仅仅提供HTML文档,还可以在更大的范围内与各种数据源建立连接,为Web浏览器提供更丰富的内容。) 实现Web动态内容的技术有很多,第一种是CGI,它根据用户输入的请求动态地传送HTML数据。CGI并不是开发语言,它只是能够利用为它编写的程序来实现Web服务器的一种协议。由于每一次对于动态内容的请求都需要启动一个新的CGI程序,因而会增加Web服务器的负担,所以CGI的一个很大的缺陷是容易影响Web服务器的速度。 Microsoft ASP(Active Server Pages-动态服务器页面)技术由嵌入在IIS里的VBScript解释器构成,同时它还支持多种脚本语言,包括JavaScript、PerlScript以及VBScript,以COM为基础,它可以很容易地访问其他服务器的软件组件。 PHP象JSP和ASP技术一样是由一套放在HTML文档里的附加的代码标记组成。不同之处是它专为开发Web网页而用,所以用它开发的应用会比用VBScript或JSP等开发的相应的应用更为简洁。 今天所有的Web服务器都支持Perl的加速解决方案。Apache的mod_perl免费解决方案就把Perl嵌入了Apache服务器。这样不仅提高了Perl代码的解释速度,而且由于mod_perl缓存作用,代码的执行效率也会有很大的提高。Mod_perl还同Apache紧密相连,因此Perl开发人员可以象C语言开发人员编写底层的Apache API程序一样控制Web服务器的工作。 在系统运行时,Web服务器往往要支撑大量而又密集的用户点击和对动态内容的需求,所以即使再高档的服务器设备,面对不断增加的用户,单位时间内所支持的访问量也是会有一个限度,尤其是对于动态内容较多的情况,因为动态内容的应用需要频繁地调用数据库的数据和应用程序,会占用大量的服务器资源。这时就需要在多个服务器设备之间或多个站点之间分散服务器的负载。 负载均衡的方法有很多,最简单的方法是在不同的服务器之间分配网站的内容。例如,在一个服务器上存放静态HTML页面,另一个上面存放图象文件,而在第三台上运行所有的CGI程序。不过很明显,这种方法效率不会很高,因为它无法在主机之间实现自动的内容分配,如果其中某一方面的内容过多,仍然会形成负载瓶颈。 DNS负载均衡(Domain Name Server-域名服务器)的基本方法是把同一站点的不同的拷贝放在相同的物理服务器上,然后,DNS服务器可以返回多个IP地址,方法是DNS服务器既可以返回域名的多个IP地址,也可以对同一个DNS请求返回不同的IP地址。由于难以确定一个客户端对应的是哪一个IP地址,所以DNS只能提供基本的负载均衡服务。而且,由于DNS请求留在了客户端和其它的服务器的缓存里,同一个客户端会继续访问同一个Web服务器。所以就有可能造成一大批频繁上网的用户用一个IP地址,而另外较少上网的用户却访问另一个IP地址,从而造成分配不均。还有一个问题是DNS的缓存并不是持续激活的,这就可能造成当一个客户端正在使用一个Web站点时,会结束对该站点其它IP地址的访问。这会给动态网站带来问题,特别是对于需要接受并存储客户端的数据的情况。 软、硬件的负载均衡方法与DNS负载均衡相似,但网站只发布一个IP地址,专门设置一台机器接受针对这个IP地址的HTTP请求并把这些请求分发给网站的各个服务器。这种分发通常发生在TCP/IP路由的层次上,可以透明地把这个单一的源/目标IP地址映射到一个特定的服务器上。这种技术

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

vivox100s和x100手機都是vivo手機產品線中的代表機型,它們分別代表了vivo在不同時間段內的高端技術水平,因此這兩款手機在設計、性能和功能上均有一定區別。本文將從效能比較和功能解析兩個面向對這兩款手機進行詳細比較,幫助消費者更好地選擇適合自己的手機。首先,我們來看vivox100s和x100在效能上的比較。 vivox100s搭載了最新的

DHCP中繼的作用是將接收到的DHCP封包轉送到網路上的另一個DHCP伺服器,即使這兩台伺服器位於不同的子網路中。透過使用DHCP中繼,您可以實現在網路中心部署集中式的DHCP伺服器,並利用它為所有網路子網路/VLAN動態分配IP位址。 Dnsmasq是一種常用的DNS和DHCP協定伺服器,可設定為DHCP中繼伺服器,以協助管理網路中的動態主機設定。在本文中,我們將向您展示如何將dnsmasq配置為DHCP中繼伺服器。內容主題:網路拓樸在DHCP中繼上設定靜態IP位址集中式DHCP伺服器上的D

隨著網路的快速發展,自媒體這個概念已經深入人心。那麼,自媒體到底是什麼呢?它有哪些主要特點和功能呢?接下來,我們將一一探討這些問題。一、自媒體到底是什麼?自媒體,顧名思義,就是自己就是媒體。它是指透過網路平台,個人或團隊可以自主創建、編輯、發布和傳播內容的資訊載體。不同於傳統媒體,如報紙、電視、電台等,自媒體具有更強的互動性和個人化,讓每個人都能成為訊息的生產者和傳播者。二、自媒體的主要特色和功能有哪些? 1.低門檻:自媒體的崛起降低了進入媒體產業的門檻,不再需要繁瑣的設備和專業的團隊,一部手

隨著小紅書在年輕人中的流行,越來越多的人開始利用這個平台分享各方面的經驗和生活見解。如何有效管理多個小紅書帳號成為關鍵問題。在本文中,我們將討論一些小紅書帳號管理軟體的功能,並探討如何更好地經營小紅書帳號。隨著社群媒體的發展,許多人發現自己需要管理多個社群帳號。對於小紅書用戶來說,這也是一個挑戰。一些小紅書帳號管理軟體可以幫助使用者更輕鬆地管理多個帳號,包括自動發佈內容、定時發布、資料分析等功能。透過這些工具,使用者可以更有效率地管理他們的帳號,提高帳號的曝光率和關注。另一、小紅書帳號管理軟體有

epic伺服器離線進不了遊戲怎麼辦?這個問題想必很多小夥伴都有遇過,出現了此提示就是導致正版的遊戲無法啟動,那麼出現這個問題一般是網絡和安全軟體幹擾導致的,那麼應該怎麼解決呢,本期小編就來和大夥分享解決方法,希望今日的軟體教學可以幫助各位解決問題。 epic伺服器離線進不了遊戲怎麼辦: 1、很可能是被安全軟體幹擾了,將遊戲平台和安全軟體關閉在重啟。 2、其次就是網路波動過大,嘗試重啟一次路由器,看看是否有效,如果條件可以的話,可以嘗試使用5g移動網絡來進行操作。 3、然後有可能是更

CheatEngine是一款遊戲編輯器,能夠對遊戲的記憶體進行編輯修改。但是它的預設語言是非中文的,對於很多小夥伴來說比較不方便,那麼CheatEngine怎麼設定中文呢?今天小編就跟大家詳細介紹一下CheatEngine設定中文的方法,希望可以幫助到你。 設定方法一 1、雙擊開啟軟體,點選左上角的「edit」。 2、接著點選下方選項清單中的「settings」。 3、在開啟的視窗介面中,點選左側欄中的“languages”

本站7月23日消息,華碩推出多款由AMDEPYC霄龍4004系列處理器驅動的伺服器與工作站級產品。本站註:AMD於5月推出AM5平台、Zen4架構的EPYC霄龍4004系列處理器,最高提供16核心3DV-Cache規格。 ASUSProER100AB6伺服器ASUSProER100AB6是一款搭載EPYC霄龍4004系列處理器的1U機架式伺服器產品,適用於IDC及中小型企業需求。 ASUSExpertCenterProET500AB6工作站ASUSExpertCenterProET500AB6是一款A

PHP是一種廣泛應用於Web開發的伺服器端腳本語言,它主要的功能是產生動態網頁內容,與HTML結合使用,可以創造出豐富多彩的網頁。 PHP的功能強大,它可以執行各種資料庫操作、檔案操作、表單處理等任務,為網站提供強大的互動性和功能性。在接下來的文章中,我們將進一步探究PHP的作用與功能,並配以詳細的程式碼範例。首先,我們來看看PHP的常見用途:動態網頁生成:P
