web应用
一个web应用由多个页面组成(静态的web、动态的web)
响应过程:
客户端---->request----->webService----->query------>index.html
webService----->response------>客户端
静态web:
缺点:web页面无法动态更新,所有用户看到的都是同一个页面
轮播图,点击特效:伪动态
Javascript
VBscript
无法和数据库交互
动态的web
页面会动态的展示:web的页面展示效果因人而异
缺点:
加入服务器的动态web资源出现了错误,我们需要重新编写我们的 后台程序 重新发布:停机维护
优点:
web页面可以动态更新,每个人看到的都是不一样的。
可以读取数据库(数据持久化:注册,商品信息。。。)
可以和用户交互
web服务器
ASP
微软:国内最早流行的
在html中嵌入了VB的脚本,ASP+COM
在ASP开发中,一个页面嵌入几千行业务代码,页面极其混乱,维护成本高
C#
IIS服务器
PHP
PHP开发速度快,功能强大,跨平台,代码简单
无法承载大访问量的情况(局限性)
JSP/Servlet
sun公司主推的B/S架构
基于Java语言的
可以承载三高问题带来的影响(高并发、高性能、高可用)
语法像ASP
服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息
IIS
微软的:windows自带
Tomcat:
是开发和调试JSP程序的首选 工作3-5年可以尝试手写Tomcat服务器
Tomcat详解
可能遇到的问题:
java环境没配置
闪退问题:需要配置兼容性
乱码问题:配置文件中设置
配置
核心配置:conf/service.xml 里面可以配置连接端口、主机名等
端口号:
主机名:
访问网站过程
1,输入域名回车
2,检查本机的hosts域名映射
有:返回IP,访问
没有:访问域名服务器,返回IP 然后访问,找不到返回走丢了
发布web网站
将自己写的网站放到webapps文件夹下
网站应该有的结构
webapps
--ROOT
--webtree:网站目录
--WEB-INF
--classes:Java程序
--lib:web应用所依赖的jar包
--web.xml:网站配置文件
--index.html 默认的首页
--static
--css
--style.css
--js
--img
http详解
什么是http
是一个简单的请求响应协议(超文本传输协议),运行在TCP上
文本:html,字符串
超文本:图片,音乐,视频,定位,地图......
http请求
客户端--请求--服务器
百度:
Request URL: https://www.baidu.com/baidu.html?from=noscript 请求地址
Request Method: GET 请求方法
Status Code: 200 OK 状态码
Remote Address: 14.215.177.38:443 远程主机地址
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
请求行
请求行中的请求方式:GET
请求方式:GET,POST
GET:携带请求的数据有限,但参数有限,会在URL显示 不安全
POST:请求携带的参数没有限制,不会显示在URL内,安全,但不高效
消息头
Accept: text/html 告诉浏览器 他所支持的类型
Accept-Encoding: gzip 告诉浏览器编码
Accept-Language: zh-CN,zh;q=0.9 告诉浏览器 语言环境
Cache-Control: no-cache 缓存控制
Connection: keep-alive 告诉浏览器,请求完成还是断开还是保持连接
Host: 主机
http响应
服务器--返回--客户端
百度
Accept-Ranges: bytes
Cache-Control: max-age=86400 缓存控制
Content-Encoding: gzip 编码
Content-Length: 1131 长度
Content-Type: text/html 文件类型
响应体
Accept: text/html 告诉浏览器 他所支持的类型
Accept-Encoding: gzip 告诉浏览器编码
Accept-Language: zh-CN,zh;q=0.9 告诉浏览器 语言环境
Cache-Control: no-cache 缓存控制
Connection: keep-alive 告诉浏览器,请求完成还是断开还是保持连接
Host: 主机
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位
响应状态码
200 请求响应成功
404 找不到资源
3xx 请求重定向
5xx 服务器代码错误 500 502:网关错误
常见面试题:
当你的浏览器地址栏输入地址并回车的一瞬间到页面能够展示回来,经历什么