一、什么是Web应用程序
-
应用程序可分为
C/S
、B/S
两种模式。C/S
是客户端/服务器端应用程序,一般可以独立运行;B/S
是浏览器端/服务器端应用程序,一般需要借助浏览器来运行 -
Web
应用程序是通过Web
访问的应用程序,最大优点是用户很容易使用,用户只需要有浏览器即可,不再需要安装其他软件 -
WEB
应用程序一般是B/S
模式。Web
应用程序有自己独特的地方,它是基于Web
的,而不是采用传统方法运行,是典型的浏览器/服务器架构的产物
二、Web应用程序优点和缺点
2.1 Web应用程序的优点
- 仅需要安装一个适用的浏览器便能够访问,通常使用
Google Chrome
、Firefox
- 不需要安装、更新,用户是用通过访问服务器执行相关操作,耗费极少的用户硬盘空间,且能够在不同电脑、不同系统上正常登录访问
- 网络应用程序和服务器端的网络产品都很容易结合,常用结合email作为登录验证
- 在服务器上对数据进行处理,处理的结果可生成网页,方便客户端直接查看或下载
2.2 Web应用程序的缺点
- 用户访问服务器,会因电脑的系统的性能、网速、浏览器版本等导致应用程序加载更为缓慢,常常导致连接超时等问题
- 当用户量过大,导致请求响应过多,服务器将会响应缓慢,甚至连接断开,从而影响用户体验
- 服务器因某些原因导致数据泄露,容易引起网络安全问题、隐私问题,如个人信息泄露
三、HTTP协议
HTTP
协议是Hyper Text Transfer Protocol
(超文本传输协议)的缩写,是用于万维网World Wide Web
服务器与本地浏览器之间传输超文本的传送协议- 它于
1990
年提出,经过几年的使用与发展,得到不断地完善和扩展。属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统 HTTP
协议工作于客户端-服务端架构为上。浏览器作为HTTP
客户端通过URL
向HTTP
服务端即Web
服务器发送所有请求。Web
服务器根据接收到的请求后,向客户端发送响应信息- 关于HTTP更多信息详见
3.1 HTTP协议特点
- 是基于
TCP/IP
协议之上的应用层协议 - 是基于 浏览器发出(请求)——服务器响应(响应)模式,从客户端开始建立通信,服务器端在没有接收到请求之前不会有任何响应
HTTP
是一种不保存状态,即无状态stateless
协议。HTTP
协议自身不对请求和响应之间的通信状态进行保存,即协议对于发送过的请求或响应都不做持久化处理。为了能够实线保持状态功能,从而引入了Cookie
、Session
和Token
等技术- 是无连接的,当服务器处理完客户的请求,并收到客户的应答后,即断开连接
3.2 HTTP请求协议与响应协议
HTTP
协议包含了由浏览器发送数据到服务器需要遵循的请求协议与服务器发送数据到浏览器需要遵循的响应协议- 用于
HTTP
协议交互的信被为HTTP
报文,由多行数据构成的字文本,请求端(客户端)为请求报文,响应端(服务器端)为响应报文 - 请求响应具体内容
3.2.1 HTTP请求协议
- 浏览器通过HTTP协议发送给服务器端的数据,由请求行、请求头和请求数据组成
![]() |
![]() |
-
GET - 向特定的资源发出请求。注意:GET方法不应当被用于产生"副作用"的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。
-
POST - 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
3.2.2 HTTP响应协议
- 服务器端接收到请求后做相应的处理在回复给浏览器端的数据,由状态行、响应头部和响应正文构成
![]() |
![]() |
3.3 响应状态码
- 状态码的值是当客户端向服务器端发送请求时,返回的请求结果
- 借助状态码,用户可以知道服务器端是否正常处理了请求,还是出现了异常
- 状态码如200,由3位数字构成,数字中的第一位指定了响应类别,后两位区分该类别的具体状态。响应状态类别有以下5种
状态码元 | 类别 | 原因 |
---|---|---|
1xx | Informational(信息性状态码) | 接收的请求正在处理 |
2xx | Success(成功) | 请求正常处理完毕 |
3xx | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4xx | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5xx | Server Error(服务器错误状态码) | 服务器处理请求错误 |
四、URL简介
-
统一资源定位符
URL
的全称为Uniform Resource Locator
,简洁的表示了访问互联网上某个资源的具体地址。互联网上的每个文件都有一个唯一的URL
,它包含了文件的位置以及浏览器如何怎么处理它 -
构成:协议+域名+[端口-非必须项]+路由(具体的资源路径)+[查询字符串]+[快速定位的的锚点]
protocol://+hostname+ [:port]+/path+[?query]+[#fragment]
说明:[ ]表示可选,非必须
例:http://tts.tmooc.cn/video/showVideo?menuld=657421&version=AID999#subject
-
protocol(协议):http://
http://,表示通过http访问该资源,格式为http://
https://,表示通过https访问该资源,格式为https://配置在Nginx种
file///,是本地计算机上的文件,格式为file/// -
hostname(主机名):tts.tmooc.cn
是存放资源的服务器的域名系统(DNS)主机名、域名或者IP地址 -
[:port](端口号)::80
整数,可选,省略时使用方案的默认端口
各种传输协议都有默认的端口号,http的默认端口为80,https的默认端口为443 -
path(路由地址):/video/showVideo
由零或多个"/"符号隔开的字符串,用于表示主机上的一个目录和文件地址。路由地址决定了服务器端如何处理这个请求 -
[?query](查询字符串):?menuld=657421&version=AID999
可选。用于动态网页 传递参数,可以有多个参数,用"&“符号隔开,每个参数的名和值用”="符号隔开 -
[#fragment](信息片断,锚点):#subject
字符串,用于指定网络资源的片断。网页中多个名词解释,用fragment直接定位到某一个名词解释上