从页面发起请求到后台处理流程,经过哪些步骤
- 浏览器输入一个url点击确定跳转 ;
- 浏览器解析dns,先解析自己本地的hosts,如果解析不了则继续上传到上层DNS解析,直到解析出确定的ip
- 发起网络通信请求,建立三次握手;分享一个三次握手小窍门(假设我们是A ,B两方通讯 ,A发送一个请求给B (**这个是第一次握手 **)B接受到以后 ,B知道自己拥有接收成功的能力,但是不知道自己有没有发出成功的能力,A是不知道自己发出的信息是否被接收。此时 B发送一个信息给A 告诉A,你的信息我接收到了 (这个是第二次握手),此时A就知道 自己发出的信息成功被接收了,但是B还不知道自己发出的信息有没有被接收,于是A发出一个信息给B (这个是第三次握手),告诉B你的信息我也收到了。至此两方建立连接)
- 发送报文数据给服务器容器
- 服务器容器将请求发给servlet容器,服务器容器根据项目的配置文件web.xml中的配置来寻找响应的配置信息
- **servlet容器来响应请求,执行流程等 **,以spring来说,通过frameworkServlet,在到dispatcherServlet,在经过拦截器等,找到mvc的响应配置注解如@RequestMapping(“xxx”),执行相关的业务流程
- 返回结果给客户端,servlet执行销毁