Web开发系列知识汇总 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

Web开发系列知识汇总

发表时间:2018-7-13

发布人:葵宇科技

浏览次数:28

目录

一. 定义

二. 网络结构模式

三. 客户端-浏览器Browser

四. Web服务器端

五. Cookie

六. HTTP协议

1. HTTP简介

2. HTTP方法

3. 各种协议与HTTP协议的关系

七. TCP/IP通信传输流



一. 定义

1. Web:World Wide Web, 其内容以页面的形式表现。

  • 超文本(Hypertext):一个页面指向另一个页面。用户单击一个链接就可以来到该链接所指向的页面。
  • 超媒体(Hypermedia):超文本和多媒体的结合。用户可以在页面激活一段声音,显示一个图形,甚至播放一段视频。
  • 超文本传输协议(HTTP) :Web浏览器向一个或多个Web服务器发送请求,服务器以页面的内容作为响应。这里的“请求-响应”协议,即HTTP协议基于文本协议,运行于TCP之上。

2. 浏览器:显示页面的程序

3. 统一资源定位符(URL,Uniform Resource Locator):用类标识每个页面。包含三部分:协议,域名,路径。如:

http(协议)://www.cs.washington.edu(域名)/index.html(页面的路径)

4. Web的体系结构

(图片来源自Andrew S.Tanenbaum与David J.Wetherall的《计算机网络(第五版)》)

图中Web浏览器向三个服务器(youtube.com, www.cs.washington.edu, google-analytics.com)发送请求,从而获得了两个页面。来自不同服务器的内容集成在一起通过浏览器显示。www.cs.washington.edu服务器提供了主页面,youtube.com服务器提供了一段嵌入的视频,google-analytics.com服务器没有提供任何用户可见的内容,但它追踪访问网站的用户。

二. 网络结构模式

1. C/S(Client/Server)

  • 客户端/服务器端架构,典型的两层结构
  • 客户端:一个或多个在用户电脑上运行的程序。
  • 服务器端

1. 数据库服务器端:客户端通过数据库连接访问服务器端的数据

2. Socket服务器端:服务器端的程序通过Socket与客户端的程序通信

2. B/S(Browser/Server)-这里主要介绍该模式

  • 浏览器/服务器架构,三层结构
  • Browser客户端 :负责处理显示逻辑
  • Web服务器 :负责处理事务逻辑
  • 数据库服务器

(图片来源于:http://www.ltesting.net/html/84/n-141684.html)

三. 客户端-浏览器Browser

1. 一个浏览器是一个应用程序,负责将用户选择的web资源呈现出来。

2. 浏览器的组成

主要组件:

  • 用户界面 - 包括地址栏、后退/前进按钮、书签目录等
  • 浏览器引擎 (Browser engine)- 用来查询及操作渲染引擎的接口
  • 渲染引擎 (Rendering engine)- 浏览器的内核,负责将网页代码转化成可见的页面
  • 网络 - 完成网络调用
  • UI后端 - 用来绘制类似组合选择框及对话框等基本组件,底层使用操作系统的用户接口
  • JS解析器 - 用来解释执行JS代码
  • 数据存储 - 浏览器在用户磁盘中保存类似于Cookie的各种数据。HTML5定义了一种轻量级的客户端存储技术Web Database技术

3. 当用户点击一个超链接时,浏览器执行的系列步骤

(1)浏览器确定URL

(2)浏览器请求DNS查询www.cs.washington.edu服务器的IP地址

(3)DNS返回128.208.3.88

(4)浏览器与128.208.3.88机器的80端口建立一个TCP连接(80端口是HTTP协议的默认端口)

(5)浏览器发送HTTP报文,请求/index.html页面

(6)www.cs.washington.edu服务器向浏览器响应页面,如发送文件/index.html

(7)若该页面包括需要显示的URL,浏览器通过相同的处理过程获取其他URL。该例子中,URL包括多个取自www.cs.washington.edu的内嵌图像,一段取自youtube.com的内嵌视频和一个取自google-analytics.com的脚本。

(8)浏览器渲染显示页面/index.html

(9)若短期内没有向同一个服务器发送其他请求,释放TCP连接

四. Web服务器端

1. Web服务器的工作流程

  • 接受来自浏览器的TCP连接请求
  • 获取页面的路径,即被请求文件的名字
  • 从磁盘中读取文件
  • 将文件内容响应给浏览器
  • 释放该TCP连接

2. 为了解决文件访问瓶颈,减少读磁盘的操作,会在内存中维护一个缓存,保存着n个最近使用过的文件或者内容。服务器从磁盘读取文件前,首先检查缓存。

3. 为了解决一次只能服务一个请求的问题,将服务器设计成多线程(multithreaded)模式。

(图片来源自Andrew S.Tanenbaum与David J.Wetherall的《计算机网络(第五版)》)

多线程服务器由一个前端模块和一个处理模块组成。前端模块接收所有入境请求; k+1个线程全部属于同一个进程,所有处理模块(线程)都可以访问当前进程地址空间中的缓存。

五. Cookie

  • 小甜饼Cookie,一小段文本信息,由浏览器存储在客户机磁盘Cookie目录下
  • Cookie只是字符串,最多4KB,不是可执行程序,因而不存在病毒得以实际运行从而造成损害

六. HTTP协议

1. HTTP简介

  • HTTP协议(Hyper Text Transfer Protocol超文本传输协议),用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器。
  • 应用层协议,请求-响应协议,运行在TCP之上。
  • HTTP默认端口号为80。浏览器通常与服务器的80端口建立TCP连接
  • 无连接:每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。节省传输时间。
  • 无状态:对事务处理没有记忆能力,若后续处理需要前面的信息,则必须重传。

2. HTTP方法

方法描述GET请求服务器发送页面(完成查询操作)HEAD请求一个Web页面的消息头POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

(完成增删改操作)

PUT向服务器写入一个Web页面DELETE删除页面TRACE回显服务器收到的请求,用于测试或诊断CONNECT通过代理连接OPTIONS一个页面的查询选项

3. 各种协议与HTTP协议的关系

(来源于《图解HTTP》)

七. TCP/IP通信传输流

(来源于《图解HTTP》)

相关案例查看更多