软件体系结构
1.常见的软件体系结构B/S、C/S
- c/s
c/s结构即客户端/服务器(Client/Server),例如QQ
需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序;
缺点:软件更新时需要同时更新客户端和服务器两端,比较麻烦
优点:安全性比较好 - b/s(重点)
b/s结构即浏览器/服务器(Browser/Server)
优点:只需要编写服务器端程序
缺点:安全性较差
2.WEB资源
html:静态资源;
JSP/Servlet:动态资源
静态资源和动态资源的区别
访问Web资源
打开浏览器,输入URL:
协议名://域名:端口/路径, 例如:http://www.baidu.com:80/index.html
3.Web服务器
Web服务器的作用是接受客户端的请求,给客户端做出响应。
对于javaWeb程序而已,还需要有JSP/Servlet容器,通常这两者会集于一身。下面是对javaWeb的服务器
Tomcat(Apache):当前应用最广的javaWeb服务器;
Tomcat
Tomcat服务器由Apache提供,开源免费。
Web应用(重点)
静态网站:
- 在webapps目录下创建一个目录(命名必须不包含中文和空格),这个目录称之为项目目录;
- 在项目目录下创建一个html文件;
动态网站: - 在webpass目录下创建一个项目目录;
- 在项目目录下创建如下内容;
(1)WEB-INF目录;
在WEB-INF目录下创建web.xml文件
(2)创建静态或动态页面;
HTTP协议(重点)
协议:协议的甲乙双方,就是客户端(浏览器)和服务器!
理解成双方通信的格式 - 请求协议;
- 响应协议;
POST请求可以有体的,而GET请求不能有体。
Referer请求是比较有用的一个请求头,它可以用来做统计工作,也可以用来做防盗链。
统计工作:比如 我公司子网站在百度上做了广告,但不知道在百度上做广告对我网站的访问量是否有影响,那么可以对每个请求中的Referer进行分析,如果Referer为百度的很多,那么说明用户都是通过百度找到我们的。
4.响应协议
相应内容
相应协议的格式如下:
相应首行;
响应头信息;
空行;
响应体。
响应码:
200:请求成功
404:请求的资源没有找到,客户端错误
500:请求资源找到了,但服务器内部出现问题
304:需要重接
响应头: - Last-Modified: 最后修改的时间
请求头: -
if-Modified-Since:把上次请求的index.html的最后修改时间还给服务器
状态吗:304 比较if-Modified-Since的时间与文件真实的时间一样时,服务器会响应304,而且不会有响正文,表示浏览器缓存的就是最新版本!
用java画图
代码