HTTP
- 浏览器的服务原理
- http协议
- web
- TCP/IP协议族
- TCP/IP协议族分层
- 应用层
- 传输层
- 网络层
- 链路层
- 数据包的封装过程
- HTTP数据传输过程
- 传输层——TCP三次握手
- 第一次握手
- 第二次握手
- 第三次握手
- 三次握手的目的
- DNS域名解析
- HTTP完整事务处理过程
- HTTP协议的特点
- 支持客户/服务器模式
- 简短快速
- 灵活
- 无连接
- 无状态
- URI与URL
- HTTP报文结构分析-请求报文
- HTTP报文头
- 通用报文头
- Connection
- 请求报文头
- ACCEPT
- Accept-Encoding
- Accept-Language
- Host
- Referer
- User-Agent
- 响应报文头
- 实体报文头
- Content-Type
- HTTP报文结构分析-响应报文
- HTTP请求方法剖析
- GET获取资源
- POST提交请求
- PUT请求(不常用)
- HEAD/DELETE
- OPTIONS
- TRACE/CONNECT
浏览器的服务原理
输入一个url地址,浏览器是如何找到对应的页面的呢?
当我们输入一个url地址,输入一个地址进行提交的时候。第一步就是根据域名寻找目标服务器对应的ip地址,这个过程依靠的是一个叫做dns服务器的东西进行解析。然后我们通过dns服务器查询出域名所映射的ip地址。浏览器就会根据我们查询到的ip地址跟我们的web服务器进行通信。而通信的协议就是http协议。
那浏览器中的界面是如何出现的?
首先web服务器收到请求,自然会到后端来执行,然后我们的执行结果以响应报文的形式回传到浏览器,然后由浏览器进行渲染响应报文。渲染引擎是根据html文件描述对应相对应的数据模型,调用浏览器的各个零部件,从而把网页资源的一些源代码展示为图像结果。
http协议
超文本传输协议(HTTP)是一种属于应用层的面向对象的通信协议,它允许将超文本标记语言(HTML)文档从web服务器传送到客户端的浏览器。简单来说,http就是用来在网页传输html的一种规则。
web
web是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。,是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面。
TCP/IP协议族
HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集。
TCP/IP协议其实是一系列与互联网相关联的协议集合起来的总称。
分层管理是TCP/IP协议的重要特征。
TCP/IP协议族分层
TCP/IP协议族是由一个四层协议组成的系统,这四层分别为:应用层、传输层、网络层、数据链路层。
应用层
应用层一般是我们编写的应用程序,决定了向用户提供的应用服务。应用层可以通过系统调用与传输层进行通信。如:ftp、dns、http等。
传输层
传输层通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能。
在传输层有两个性质不同的协议:TCP(面向连接,比较可靠,但是由于需要先建立连接,所以效率比较低)和UDP(无连接,所以效率较高,但是可靠性较低)
网络层
网络层是用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(传输路线)到达对方计算机,并把数据包传输给对方。
链路层
链路层用来处理连接网络的硬件部分,包括控制操作系统、硬件设备驱动、NIC(网络适配器)以及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内。
数据包的封装过程
那么上层协议数据到底如何是转变为下层协议数据的?
应用程序的数据在发布到我们的数据网络之前,会沿着协议站从上往下进行传递。每层协议都将在我们的上层协议的基础之上加上自己的头部信息,链路层还会加上尾部信息,以此来实现所有层的一个数据封装。
HTTP数据传输过程
发送端发送数据时,数据会从上层传输到下层,且每经过一层都会被打上该层的头部信息。而接收端接收数据时,数据会从下层传输到上层,传输前会把下层的头部信息删除
传输层——TCP三次握手
使用TCP协议进行通信的双方必须先建立连接,然后才能开始传输数据。未来确保连接双方可靠性,在双方建立连接时,TCP协议采用了三次握手策略。
第一次握手
客户端发送带有SYN标志的连接请求报文段&#