全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网站的工作原理简介 -转自CSDN2008-07-12 21:58【几个名词】 net - 多台计算机通过一定的设备(网卡、网线、HUB)连接到一起,就构成计算机网络,如常用的局域网(以太网、令牌网)。 internet - 将多个 net 通过路由器或网桥之类设备连接到一起,就构成 internet。 Internet - 首字母大写:特指“某一个”internet,这个 internet 就是全世界都在使用的国际互联网(如果你学过 C+,不妨这样理解:class internet ; internet Internet; 即 Internet 是 internet 的一个实例)。 WWW - World Wide Web。Internet 可以狭义地理解为“设施”,即将全世界的计算机联合起来的这些网络设备的“总和”,而 WWW 是这个物质基础上的“精神”,即很多(不是全部)具体功能的集合。很多时候,人们把 WWW 同 Internet 等同起来,这是今天的客观现实决定的,因为 WWW 几乎成了 Internet 的全部。但是,从原理上说,完全可以以 Internet 为基础,构造 WWW 之外的系统。严格地说,像 ICQ,IRC 之类的服务就是 WWW 之外的 Internet。Internet 的基础是 TCP/IP,WWW 的基础是 HTTP,所以 WWW 只是 Internet 的一个子集。 Web - “蜘蛛网”。人们亲切地把 WWW 简称为 Web。 TCP/IP - Internet 的技术基础。Internet 是全世界计算机的联合体,计算机通过通信,或者“交流”联系在一起。交流的基础就是共同的语言,你说英语,我说法语,怎么交流?规定共同语言的词汇、语 法、语义等要素的东西就叫协议。Internet 的基础是 TCP/IP 协议族,包括 TCP, UDP, IP, ICMP, IGMP, ARP, RARP 等协议。有了 TCP/IP,不同的计算机才可以互相交流,不受不同 CPU,不同 OS 的影响,才谈得上 Inter-net。 HTTP - 超文本传送协议。TCP/IP 只是机器之间交流的语言,而人类构造互联网的最终目的是为了让人类也能够通过互联网进行交流。因此就必须在 TCP/IP 协议族(属于链路层、网络层和传输层)的基础上建立更接近人类的层次应用层。应用层的协议包括 HTTP、FTP、SMTP、POP 等。当然,这些协议本身也不是面向人类的,但在这些协议的基础上实现的应用程序对我们人类就是友好的了。最著名的应用程序就是浏览器,最重要的协议就是 HTTP 协议,此外还有:邮件应用(SMTP、POP)、FTP 应用(FTP)等。 【WWW 网站的一般工作原理】 一、概述 用“网站的一般工作原理”这个说法感觉口气太大,太笼统,但暂时想不出什么更合适的修辞。这里的“网站的一般工作原理”指 Web 服务器与客户端浏览器交互的基本原理,说白了就是,网站服务器上的文件和数据库最终成为客户所看到的华丽或朴素的页面的过程。这个过程包括三个问题: 1. 网站的数据如何变成页面数据网站程序解决。 2. 如何根据用户请求将指定的数据体送达客户端Internet解决。 3. 客户端如何将页面数据显示为页面(所谓页面就是图形界面上的文本、图像、图形的集合)浏览器解决。 二、网站程序的运行 这里的“网站程序”指网站的脚本、脚本解析程序、公用组件和数据库系统的集体。当然,如果网站全是静态页面,当然就不存在脚本和组件的问题了。这些程 序相互协作,将原始的网站数据(文件形式或数据库形式)解释(或者说:变换)成特定编码格式的用户数据。网页里最常见的编码格式有:HTML, GIF, BMP, PNG, MIDI (“正规”名称为 text/html, image/gif, image/bmp, image/png, audio/mid)。对任何一次客户请求,一旦解释完毕,程序在本次连接中的使命也就结束了,功成身退,以后就没它的事了人情冷暖,世态炎凉啊! WWW 网站的运行中,随处可见“管道风格”或“层次风格”的结构与运行模式,不论网站用的是什么 Web Server 和处理引擎(CGI、脚本、编译程序),其最终的处理结果都是标准的网页、图像、MIDI 等,它的任务也只限于生成这些数据,至于这些数据如何工作,那是下一个环节的事。例如: 这个服务器脚本(简称 SS)运行的结果是浏览器弹出 alert 对话框,显示一段文本 $str。不明白的人就认为这是 SS 干的。当然,在不需要严格区分的场合,我们可以笼统的这么说。但是,作为基本概念,我们心里必须清楚,真正弹出对话框的是所生成页面中的客户端脚本(简称 CS),而最终的实现者是该脚本的解释器浏览器。假设 SS 中的查询结果是 $str = Bin Laden ,则生成的结果 HTML 数据(静态页面)为: var name = Bin Laden; window.alert(name); 最终送到客户端的,只有这个 HTML 页面,原来 中的东西的早已尸骨无存。不妨认为 SS 和 HTML 文件(含 CS)是“前生”与“后世”的关系。如果你有“后世”,你现在是无法泡到你后世才能泡的 MM 的。如果你有“前生”,你也不可能记得你前生到底干过什么坏事。显然,那种企图在 SS 中访问 CS 变量 name 或在 CS 中访问 SS 变量 $name 的做法都是荒唐的:SS 只是赋予 CS 变量以名称与生存条件,具体 CS 变量值只有到 CS 执行时才有意义,而此时 SS 变量已经“过期作废”。 在具体的脚本解析过程中,可能是边解析边输出,即,读进,输出,读 进,输出遇到?,转入真正的 PHP 脚本解析这是管道方式。也可能更偏向层次模式,整个脚本全处理完,整个输出。但这对最终的结果不会有任何影响,纯粹属于 Web Server 和脚本工作的内部原理。 二、HTTP 协议的原理 在网站运行中,HTTP 协议的主要任务就是“根据用户请求将指定的数据体送达客户端”,有时也要承担用户数据上传的任务。 “HTTP 是一个简单的协议,客户进程建立一条同服务器进程的 TCP 连接,然后发出请求并读取服务器进程的响应。服务器关闭连接表示本次响应结束。”这是TCP/IP 祥解上的原话,似乎太抽象了。说的通俗一点就是:HTTP 协议是一个“被动”的协议,客户端发一次请求,它响应一次,否则就傻呆在那儿无所事事。这让我想起 80 年代的电视剧中反映青年男女刚开始恋爱的片断,里面的男主角通常都比女的更害羞,姑娘问他一句,他“嗯”一声,人家不问,他也就不出声,于是姑娘恼了:“ 你这个木头”。HTTP 协议就是这么一根“木头”,许多人就是没理解这一点,所以犯了很低级的错误。 假设你在浏览器的地址栏里输入了 /index.htm,按下了回车。浏览器根据你输入的内容判断:这是一个 HTTP 请求,服务器地址是 ,要访问的文件是其根目录下的 index.htm。 然后执行下面的操作: 1. 寻找 主机,这包括查询 对应的 IP 地址(涉及 DNS,略),以及联系该 IP 地址上的服务器两个步骤。一个 Web Server 所提供的服务可能有很多,例如网页、邮件、文件传输等。因此客户必须指出自己需要何种服务,这是靠端口号来确定的。但是,HTTP 协议的端口号一般都是 80,所以也可以省略。当 Web Server 确认了客户的请求,并为其创建相应的对话线程后,连接就建立了。 2. 浏览器发送具体请求,如果你是直接访问的某个网址,而不是通过网页里的链接或按钮之类发出的请求,那么肯定是一个 GET 请求: GET /index.htm HTTP/1.1 这表示客户端请求服务器返回 /index.htm 文件的内容,HTTP 版本号是 1.1(发送版本号是因为默认的版本号是 HTTP /0.9)。 3. 服务器收到 GET 请求,就在自己的文件系统里寻找 /index.htm 文件,找到后,返回一个响应: HTTP/1.1 200 OK Date: Monday, 30-Oct-2037 15:31:02 GMT Server: Apache/1.3.9 Location: / Content-type: text/html 俺胡汉三又回来了 . 空行前面是服务器响应头,包含如下信息: Web Server 的 HTTP 响应状态(200 表示成功,著名的 404 表示文件不存在) 文件的日期 服务器名称与版本 文件位置 响应内容的编码类型(网页文件为 text/html) 空行后是所请求的文件的内容,反映了 GOOGLE 不屈不挠的斗争精神。 4. “人一走,茶就凉”,传送完了,连接也就结束了。 理解 HTTP 协议,需要有“地理”概念,或者说“空间”概念。Internet 的一个目的就是要把地球变成“地球村”,好像大家之间没有了距离。作为用户,有这样一种“幻觉”的确很美好。但作为开发者,必须“看破红尘”:网站脚本运 行在服务器上(也许在“五角大楼”里),HTML (连同 Javascript 脚本)运行在客户机器(也许在阿富汗的“基地”组织的山洞里)。 由“空间”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿教师素质测评题库及答案
- 2025年科学实验员招聘面试题库及参考答案
- 2025年全国销售经理招聘面试参考题库及答案
- 村级会计考试题库及答案
- 2025年影院营销推广经理招聘面试题库及参考答案
- 2025年私募股权投资专员招聘面试参考题库及答案
- 2025年无线通信工程师人员招聘面试题库及参考答案
- 2025年信贷风险分析师招聘面试参考题库及答案
- 2025年作家与编辑人员招聘面试参考题库及答案
- 2025年供应链管理招聘面试题库及参考答案
- ESS核心销售技巧
- GilAir-Plus高低流量空气采样泵操作规程和维护程序
- 中医基础理论-暨南大学中国大学mooc课后章节答案期末考试题库2023年
- 内燃机学-西安交通大学中国大学mooc课后章节答案期末考试题库2023年
- 《为什么家庭会生病》读书笔记思维导图PPT模板下载
- 八个正确的心态
- SB/T 11016-2013足部保健按摩服务规范
- GB/T 4062-2013三氧化二锑
- DB63-T 1806-2020金属非金属露天矿山企业安全生产风险分级管控和隐患排查治理实施指南
- 江苏省南通市通州区川姜镇公开招考4名人力资源和社会保障基层公共服务平台工作人员【共500题附答案解析】模拟试卷
- 企业风险管理-战略与绩效整合(中文版)
评论
0/150
提交评论