C/B与B/S的区别
C/S:
1.客户端需要被程序员开发出来
2.客户端作用范围很小,例如局域网
3.客户端需要被下载,占用一定的磁盘空间
4.需要被大量人员进行维护,因为客
户端需要被下载,所以更新时,需要下载一个大的补丁包放在客户端里面,覆盖原有的文件,甚至是删除原来的文件,重新安装
B/S:
1.浏览器端不需要程序员开发出来
2.只要有浏览器和互联网,就可以在任何地方随时访问
3.只要有浏览器,所有的内容都是基于线上
4.运维方面更加灵活而且简单,更新时对于用户是透明的,友好程度高于C/S端用户。
当用户在URL的地址栏中敲了回车之后都干了哪些事情
1.第一步,由浏览器到缓存中查找对应的url地址的真实ip,如果找到了就会直接访问。
2.第二步,从系统的缓存中查找对应的IP,如果找到了,就会直接发起访问。
3.第三步,如果第二步没有找到,此时就会到本地的LDNS上去查找已经缓存的ip地址,如果找到了就会返回并发起访问。
4.第四步,如果还没有找到,如果在学校中,就会找到学校的DNS进行访问,如果在某个小区的家中,那么就会从小区的运营服务商(电信,联通,移动)处来查询。
5.第五步,如果依然没有找到,就会到根域名 服务器去进行查询。
6.在根域名服务器中如果找到了对应的ip地址 ,那么就会带着一个ip地址以及一个TTL的过期时间,返回至本地。
7,第七步,如果找到了对应的站点信息后,会将当前的请求作为一个流发送给服务器
8,将请求交给服务器,服务器会根据请求的内容进行转发。
9.第九步,作为应用,服务器会从缓存中查找用户请求的数据,如果没有查询到就会到数据库服务器进行查询。
10.第十步,将查询的结果返回给客户端,如果此时在前端配有CDN加速服务器,就会将内容一起响应回给客户端,此时客户端就会按照设置的TTL时间开始等待缓存数据,为下一次访问做准备,所有缓存的数据,都会有过期的时间。
URL路径
整个url地址的组成,包括协议部分,主机名称以及端口号,对应的资源路径,目的是确认所请求的路径
协议部分(agreement):http/https/ftp/stmp/…
主机ip地址(IP Address):代表服务器的ip地址,localhost直接指向于127.0.0.1,一般访问本机服务器时使用。
端口号(port):确定当前被访问服务器上对应的哪一个应用。
项目资源地址(source):具体的内容在哪里。
Tomcat服务器的优点:
使用非常简单,开源,免费
Tomcat下的目录结构:
1.bin目录:里面是一些可执行文件。
2.conf目录:对tomcat进行配置的配置文件目录。
例如:server.xml文件:
server:提供对外服务,关闭端口号是8005。
service:对应的具体服务
名称为Catalina
connector:
决定了服务对外提供的端口号,如果想要更改端口号,可以改变port中的端口号值。protocal代表协议,connectionTimeout代表连接服务器的超时时间,redirectPort代表重定向到https的8443端口。
Engine
代表引擎,主要是找到对应的host以及相关资源,在配置节点上,默认的设置为localhost
host:代表访问的域名名称
context:代表能否访问的资源节点
tomcat-user.xml:
它下面有两个节点,分别是role和user
role:代表角色,能够访问的一些内容
user:代表用户,能够配置用户名,密码以及对应的角色。
lib:所有的tomcat运行时的依赖包(也就是我们说的jar包)
**logs:**日志的文件
**webapps:**防止所有要部署的项目或者是war包,在java下完成war包打包工作指令。
**work:**放置所有项目jsp文件在运行后翻译的.java及编译后的.class文件。
JAVA WEB项目的标准目录结构:
Tomcat在Idea下的运行原理:
在idea中运行Tomcat时,会将源Tomcat中conf,log,work文件夹复制到idea的工程目录下一份,如果对于tomcat进行了重新的配置,那么就不会干扰到原有的Tomcat配置。
JSP
全称:Java Server Page简称JSP,在html页面中,可以嵌入java代码,那么服务器会将jsp进行翻译,之后编译成.class文件,之后将渲染后的页面返回给客户端。
简单点说:JSP=html静态代码+java动态代码。
指令:
通过<%@ %>这种形式所标识的一种格式,能够设置当前页面的编程语言,通过import设置导入的包或者是类,设置编码格式等。
小脚本
<%
%>
小脚本通过<%换行%>这样的方式进行标识,表达式通过<%=内容%>来表示。
通俗点说,就是<%%>里面放的是java代码,而<%=%>里面放的表达式,例如要输出的变量
注释
HTML注释:
,使用该种方式注释的话,在源代码中可以看到注释的内容
JSP注释:<%–JSP注释–%>,JSP在编译完成后,渲染的页面的源代码中,是看不到的。
JSP中整体的结构内容是什么
1.静态内容:HTML静态文本
2.指令:<%@ %>
例子:
3.小脚本:<%内容%>,里面的放的是java代码
4.表达式:<%=表达式%>,里面的放的是表达式,例如要输出的变量
5.声明:<%!方法%>里面放的是声明的方法
6.注释:
这个是HTML注释,是可以在源代码中查看到的 <%----%>这个是JSP注释,JSP在编译完成后,渲染页面的源代码中,是看不到的。
JSP执行流程
客户端向服务器发送请求,服务器将JSP文件进行先翻译成.java文件,之后呢再编译成.class文件再之后执行这个文件,执行完毕之后,将结果响应给客户端。
在第一次运行时,会执行以上步骤,如果对代码在后续的过程中,没有做修改,执行速度就会提升。主要是因为不需要在进行一次翻译及编译的过程。