• 中文名称: 互联网
• 英文名称: Internet
• 定义: 由多个计算机网络相互连接而成,而不论采用何种协议与技术的网络。
• 互联网是由一些使用公用语言互相通信的计算机连接而成的网络,即广域网、局域网及单机按照一定的通讯协议组成的国际计算机网络。
(1) 计算机网络由硬件和软件两部分组成
网络硬件:负责数据处理和数据转发
• 计算机
• 通信线路
• 通信设备
网络软件:控制数据通信和各种应用
• 网络协议
• 网络操作系统
• 网络应用软件
(2)Web网站URL组成
一.协议类型
二.主机名:域名和IP等价
三.端口号(1-65535 2 16 ):
端口管理由TCP协议完成,
而不是HTTP协议
四.页面文件
五.附加部分:URL地址参数(这是最容易出完全问题的 地方)
(3)Web系统基础 - B/S v C/S
• B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
• 优点:
使用方便。不用安装、升级;一个浏览器理论上可以访问所有的网站;
客户端运行环境要求低。
研发成本低。不用研发客户端;通信层web服务器第三方公司研发;相关技术标准,框架资源丰富,研发简单;
• 缺点:
性能相对差。客户端处理能力弱;网络连接方式;
安全性差。明文传输;客户端无加解密功能。相关协议技术标准;
• C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。
• 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
优点:
安全性好。客户端可以提供安全保证和加解密功能。
性能高。客户端处理能力强;通信效率高;
缺点:
需要安装、频繁升级。
客户端要求高。
研发难度大
(4)Web核心技术 – 访问过程
• 浏览器与服务器之间的交互就是由请求(Request)和响应(Response)组成,使用标准的HTTP协议(Hyper Text TransferProtocol – 超文本传输协议)来进行请求的发送和响应的接收。
(5)Web核心技术 -Web工作原理
静态页面
• 用HTML等来编排,页面内容固定不变,以 *.html 、*.htm等文件形式保存的网页。后缀网页不含有“?”
• 速度快,容易被搜索引擎收录;
• 但是代码一般不被服务器执行,无法从服务器中获取信息;若有变化,必须手工编辑,并新上传到服务器。
动态页面
• 网页中的关键内容在服务器端生成的网页
• 能够访问服务器端的数据库,具有交互性,网页维护的工作量有所减少
• 不利于搜索引擎的信息收集,数据库访问是一个瓶颈
(6)Web核心技术-客户端技术
• Web客户端浏览器作用:
用来发送HTTP请求
接收服务器响应。
把服务器返回的HTML代码渲染成界面。
• 主流浏览器:
IE系列浏览器。
火狐浏览器
Chrome浏览器
Safari浏览器
主流渲染引擎
Trident页面渲染引擎
IE系列浏览器、360安全浏览器、腾讯浏览器
Gecko页面渲染引擎
火狐浏览器
WebKit渲染引擎
Chrome浏览器、Safari浏览器
Presto引擎
Opera浏览器
(7)Web核心技术-服务器端技术
• Web服务器
• 应用服务器
• 脚本引擎
• 服务器集群
• 数据库
• 网站页面
Web核心技术-Web服务器
Tomcat:
独立处理业务逻辑、内嵌Web服务器。Tomcat是Apache下的一个核心子项目,是目前使用量最大的免费的JAVA服务器。主要处理的是JSP页面和Servlet文件。Tomcat常常与Apache整合起来使用
Web服务器作用:
• 监听客户端请求
• 处理客户端请求
服务器端技术-应用服务器
• 应用服务器的作用:处理复杂系统的业务和数据库的访问
• 常见的应用服务器:
- J2EE应用服务器
• IBM WebSphere
• BEA WebLogic
- IIS
• IIS
IIS服务是Windows产品自带的一种免费的Web服务器,安装配置简单,主要解析的是ASP程序代码,对于小型的、利用ASP编程的项目,可以采用其作为Web服务器。一般可以跟Apache整合起来使用。这种服务在配置过程中需要注意权限的问题。
• Apache
世界排名第一、免费开源的Web服务器软件,可以安装运行在绝大多数的计算机平台上,支持大多数语言开发的B/S结构软件。一般情况下Apache与其他的Web服务器整合使用,功能非常强大,尤其在静态页面处理速度上表现优异
服务器端技术-脚本引擎
• 在服务器端处理动态网页,生成标准的HTML的网页给客户端
• 几种脚本引擎:
- ASP
- PHP
- JSP
- RUBY
服务器端技术-集群环境
服务器端技术-数据库
• 文件型数据库
• 关系型数据库
• 内存型数据库
• NoSQL
(8)网络协议模型
什么是协议
协议就是特定群体内认可的规则。通信协议就是通信双方交流的语言,相当于人与人交流的语言一样,用于传递消息的载体。
OSI参考模型
OSI是Open SystemInterconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。
TCP/IP模型
• 应用层
• 传输层
• 网络层
• 链路层
网络上发送“hello world”的数据包,这个数据包中包含很多信息,
例如:有用户的信息“hello world”,用于传输的IP地址信息、端口信息等等,必须分层规划这些信息。不同作用信息放到不同层中。
可以做到易改变。当一层需要改变时,其它层的信息不受影响。
各层之间是独立的,只需要关心实现自身的功能即可和为其它层提供的服务即可,实现的效率高。
(9)TCP\IP协议
TCP
• 传输层上的协议
• TCP 协议提供了一种端到端的、基于连接的、可靠的通信服务。
• TCP协议头
抓包工具WireShark
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
Wireshark可以抓取TCP/IP四层协议的数据包,通常用于抓包分析、接口测试。
UDP和TCP
• TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
• UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
IP协议
• IP是网络之间互连的协议(IP)是Internet Protocol的外语缩写
• 是Internet层的协议
• IP协议头
三次握手
第一次握手:建立连接时,客户端发送syn包(syn=1)到服务器,并进入SYN_SENT状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=1),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
四次挥手
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端。
(4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
(10)HTTP协议
HTTP协议简介
• 英文名称: hyper text transport protocol; HTTP
• 定义: 一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议:
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
特点:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径由于 HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。
消息包组成
请求行
携带请求方法、请求地址、协议及版本号
消息报头
携带HTTP协议属性,报头内容用于消息包传输控制,给服务器或浏览器使用。
消息正文
携带用户数据信息,此部分内容显示给用户或给服务器使用
请求行
请求头类型:
•GET
请求获取指定的资源或网页
•POST
向服务器提交数据,放在报文中
•HEAD
请求获取由网址所标识的资源的响应消息报头
•PUT
请求服务器存储一个资源,并用Request-URI作为其标识
•DELETE
请求服务器删除Request-URI所标识的
请求报文消息
报头
报头请求正文
响应报文属性
HTTP协议响应结果码
Http协议会在服务器的响应中返回结果码,结果码的内容代表服务器处理的结果,通过结果码告知浏览器处理结果。
Session和Cookie
• Http协议的特点:无连接、无状态
• Cookie是服务器暂存放在用户计算机上的一些资料,好让服务器用来辨认用户的计算机。
存储目录:
C:\Users\用户名\AppData\Local\Microsoft\Windows\Temporary Internet Files
• Session:会话,客户端和服务器之间的会话
• 特征:
- Session保存在服务端,Cookie保存在客户端
- 有生命周期
- 以文本形式存在
网友评论