浏览器的执行过程
-
用户打开浏览器
-
地址栏输入我们需要访问的网站网址(
URL
) -
浏览器通过
DNS 服务器
获取即将访问的网站IP 地址
-
浏览器发起一个对这个 IP地址的
请求
-
服务端监听指定的
端口
的服务器软件接收到这个请求,进行相应的处理 -
服务端将处理完的结果返回给客户端浏览器(
响应
) -
浏览器将服务端返回的结果呈现到界面上
HTTP超文本传输协议
超文本传输协议(HTTP,HyperText Transfer Protocol)
所有的 WWW文件(即超文本文件(Hypertext),是指具有超链接功能
的文件,它可以将文件中已经定义好的关键字(Keyword),经过鼠标的点取(Click),
便可以得到该关键字的相关解释。
工作原理
1、首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP 的工作就开始了。
2、建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、
协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和可能的内容。
3、服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本
号、一个成功或错误的代码,后边是MIME 信息包括服务器信息、实体信息和可能的内容。
4、客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务
器断开连接。
报文格式:
请求报文格式如下:
请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体
应答报文格式如下:
状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体
TCP协议
TCP 三次握手:
第一次握手:建立连接时,客户端发送 syn包(syn=j)到服务器,并进入 SYN_SENT
状态,等待服务器确认;SYN:同步序列编号( S y n c h r o n i z e S e q u e n c e N u m b e r s )。
第二次握手:服务器收到 syn 包,必须确认客户的SYN(ack=j+1),同时自己也发
送一个SYN包(syn=k),即SYN+ACK 包,此时服务器进入SYN_RECV 状态;
第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包
ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED(TCP 连接成功)
状态,完成三次握手
TCP 协议的优缺点:
优点:TCP 发送的包有序号,对方收到包后要给一个反馈,如果超过一定时间还没收
到反馈就自动执行超时重发,因此TCP 最大的优点是可靠。
缺点:很简单,就是麻烦,如果数据量比较小的话建立连接的过程反而占了大头,不断
地重发也会造成网络延迟,因此比如视频聊天通常就使用UDP,因为丢失一些包也没关系,
速度流畅才是重要的.