HTTP协议
什么是HTTP?
http就是Hyper Text Transfer Protocol(超文本传输协议)的简写
HTTP协议规定了浏览器怎样向万维网服务请求万维网文档,以及服务器怎样把文档传送给浏览器。在服务器和浏览器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。
HTTP规定在HTTP客户和HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个类似的通用因特网邮件扩充,即“类MIME(MIME-like)”的响应组成。HTTP报文通常都使用TCP连接传送。
当在地址栏输入www.baidu.com的时候会发生是什么?
1、DNS解析地址
2、找到相应的服务器
3、TCP的三次握手建立TCP连接
4、找到入口文件
5、解析入口文件
6、TCP的四次挥手
7、返回资源页面
HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输
HTTP不必考虑数据在传输过程中被丢弃后又怎样被重传。但是,HTTP协议本身是无连接的。也就是说,HTTP虽然使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
HTTP协议是无状态的。也就是说,同一个客户第二次访问同一个服务器上的页面的时候,服务器的响应与第一次被访问的时候一样,但是服务器并不知道你曾经访问过这个页面,也不记得你曾经访问过多少次。HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。
HTTP报文结构