浏览器从输入URL按下回车后会发生什么?
1.DNS域名解析
可以理解成DNS服务器就是一张映射表,它将对应域名解析成IP地址
2.建立TCP连接
TCP三次握手
3.发送HTTP请求
HTTP
协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
注意:客户端与服务器的角色不是固定的,一端充当客户端,也可能在某次请求中充当服务器。这取决与请求的发起端。HTTP协议属于应用层,建立在传输层协议TCP之上。客户端通过与服务器建立TCP连接,之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。
HTTP
是一种无状态 (stateless) 协议, HTTP
协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。
4.服务器处理请求
服务器收到请求后,根据相关参数或请求方式等请求信息处理数据,解析用户请求,服务器知道要从数据库调取哪些资源,然后准备返回给客户端
5.返回响应结果
服务器将准备好的资源或数据返回给客户端
6.关闭TCP连接
为了避免服务器和客户端双方资源占用和消耗,当双方没有继续数据传递可由任意一方关闭连接
关闭连接需要四次挥手
心得:http协议就像一封规定格式的信封,客户端和服务器都需要用这种格式来解析内容作出相应的行为
浏览器从显示页面这个过程并不是在关闭连接以后才发生
异步的用法:当几个任务相互独立,其中有一个任务执行时间较长便可用异步