1.前端(客户端)
html: <tag attr="value">text</tag>
css: selector{
key1:value1;
key2:value2;
}
javascript: document.getElementById("app").innerHTML="123"
客户端(浏览器)的主要任务是:1.发起请求(Request)2.渲染响应(Response)
渲染并显示的内容主要由HTML(结构),CSS(样式),js(行为)语句构成。
拓展
Ajax:异步刷新部分网页
html模板:{
{变量}}{%语句%}{#注释#} jinja2模板
<%=变量%><%语句%> ERB模板
浏览器缓存:如cookie,页面缓存验证Etag
前端框架
用于完成单个页面 Vue
用于UI设计 bootstrap
js封装:jquery
2.后端(服务器端)
数据存储
数据库:SQL:mysql mssql oracle
Nosql:MongoDB
数据共享
中间件:iis
apache
nginx
tomcat
...
逻辑脚本
jsp/asp/php
shell/python
...
Web应用服务器端的任务主要有:
1.监听并响应客户端请
2.数据存储与处理
3.根据用户输入返回
拓展
ORM框架: 统一数据库的CURD
CDN缓存:用于地区网络加速,可以隐藏ip 有的有DDOS防御,或云WAF功能
后端框架
java:spring boot/ struts2
python:django/flask
...
3.网络协议
http/https(port:80/443)
websockets 用于服务器端发起请求
应用间数据的传递:json/xml
网络要解决的问题主要有两个:
- 路由,也就是要确定发送的目标与路线
- 格式,要具有统一的格式以保证双方都可以认识数据
在http层面要给与的路由信息即URI(>URL)
URL: protocol:// [username:password]@hostname[:port] / path / [;parameters][?query]#fragment
主要包含:
- 协议(protocol)即http/https
- 主机名(host) ip地址或DNS解析的域名 格式为: 三级域名.二级域名.顶级域名. 最后一个.是根域名,可省略‘
- 端口号(port):http默认为80 https默认为443
- 路径(path)文件相对于根路径(由中间件映射)的位置,当然路径也不一定是主机上真实存在的路