参考内容
参考视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=325&vd_source=510ec700814c4e5dc4c4fda8f06c10e8
代码地址:https://gitee.com/empirefree/SpringBoot-summarize/tree/%E5%B0%9A%E7%A1%85%E8%B0%B7-JavaWeb%E7%AF%87/
http协议: https://mp.weixin.qq.com/s/BdYOumBAXEXM3LOrDOSftw
JavaEE:指的是一种规范,包含了目前tomcat,servlet等等,也包含了jdk(javaSE就包含了jdk里面的各种包)
Javaweb 是指java语言编写的可通过浏览器访问的程序总称
tomcat是轻量级的Javaweb容器支持对jsp,servlet这种动态资源的加载,是市面上流行的Javaweb服务器。
Servlet是JavaEE规范之一,规范也是接口,也是Javaweb三大组件之一。
JavaWeb三大组件:servlet,filter过滤器,listener监听器,是服务器上的java程序,负责接收与响应客户端请求
各种不同版本支持的环境也有所不同tomcat – servelet – javaEE – jdk环境
整体伴随项目的启动和结束
实际开发中,一般通过继承httpServlet来实现Servlet接口
Servlet配置信息类,可以获取ServletContext对象
ServletContext是接口,表示上下文对象,一个web工程只有一个ServletContext对象实例,也是一个域对象(类似于Map对象)
HttpServletRequest:tomcat接受到响应传到Service的doget,dopost方法中,后续就可以HttpServletRequest使用入参数据。
HttpServletResponse:每次请求进来,Tomcat都会创建一个response对象传给servlet使用
斜杠一般表示绝对路径
用Stream流进行传输
客户端、服务端之间通信需要遵守的协议,两者之间传输的数据叫报文
1. 请求行
1. 请求方式 get
2. 请求路径: a.html
3. 请求协议版本号
2. 请求头
1. Accept: 客户端可以接受的数据类型
2. Accept-Language:告诉服务器客户端客户接受的语言类型
3. User-Agent:浏览器信息
4. Host:请求服务器的ip和端口
5. Connection:服务器回传数据马上关闭还是保持一小段时间连接
1.1.4.3 响应码
1XX:服务器收到请求,需要请求者继续执行操作
2XX:请求成功
3XX:重定向
4XX:客户端错误
5XX:服务器错误
MIME是HTTP协议数据类型,包含文本,音频之类的
1. 域名到ip的解析:由域名经过浏览器缓存、系统缓存、hosts文件、路由器缓存、递归搜索根域名服务器(DNS解析)
2. TCP/IP连接
3. 浏览器发送http请求,经过路由器转发,通过服务器防火墙,到达服务器,服务器处理并返回HTML界面
4. 浏览器解析该HTML并展示
5. 服务器进行TCP四次挥手断开连接
https是通过SSL或TLS的通信加密协议
1. 客户端发送https请求到服务端443端口
2. 服务端生成公私钥给客户端,客户端进行一个随机值的加密给服务端,服务端收到后进行解密,然后内容加密给客户端
3. 客户端收到加密内容后就能进行解密展示
http与https区别:
1. 端口不同,http是80端口,https是443端口
1. https加密和开销多
服务器通知客户端保存数据的一种技术,默认获取到了之后每次请求都带上cookie,默认4KB
Maxage:
整数:指定秒数
负数:浏览器一关就会被删除
0:马上删除cookie
Session就是一个接口(HttpSession),存在服务端,用来维护客户端和服务端的会话。除了第一次调用是创建session之外,之后调用都是都是获取前面创建好的session会话对象,默认超时时间30分钟
filter过滤器也包含了init创建,销毁这些步骤
Filter也可以给所有service方法包含try,catch方法
ThreadLocal用于解决线程并发下数据安全问题
语言规范,实现中英文转换