HTTP协议的特点及访问流程(上网流程图解)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议的特点及访问流程(上网流程图解)相关的知识,希望对你有一定的参考价值。
Python 全栈工程师核心面试 300 问深入解析(2020 版)----全文预览
**
上网的整个流程 HTTP请求/响应
**
**
一、http到底是什么?
**
http协议全名叫做:超文本传输协议。是互联网上最广泛的一种协议。例如,我们打开浏览器,输入http://so.com/就可以访问360搜索,这就是通过http协议进行的一次访问。其实,说了这么多,可能我们对http的理解,还是很模糊,不着急,我们接着往后看。
我们举个例子,以前的人们通信的时候通过写信的方式。而一般写信是有格式,一般分为称呼、正文、结尾、署名、日期等等,写信人通过这种格式写完信寄出去,收信人也通过这种格式进行回信。而这种格式就是某种意义上的一种规范协议。当然,很多人会问,小酷你骗人,不按照这种方式写信,别人都读不懂了吗!当然不是,人是活的,但机器是死的。互相通信的两个机器只能通过某种约定好的协议进行通信,只有通过这种约定好的方式通信,通信的双方才能看懂对方发过来的是什么。
所以,我个人理解,http协议就是通信的双方(通常指客户端和服务器)进行数据传输的一种约定好的规范!
**
二、http协议的特点有哪些?
**
http协议的特点总结起来就一下几点:
1、http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。
2、无连接。所谓的无连接就是服务器收到了客户端的请求之后,响应完成并收到客户端的应答之后,即断开连接。限制每次的连接只处理一次请求。从而节省传输时间。
3、无状态。http协议对事务的处理没有记忆能力。也就意味着如果需要前面的信息,只能重传,这无形之中增加数据的传输量。这种方式某种方面上讲解放了服务器,但是却不利于客户端与服务器的连接。为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session,后面我们再细讲它们。
4、简单快捷:所谓的简单快捷是指客户端向服务器请求服务时,一般来说只需要传输请求方法和路径,就能进行访问。
5、灵活:这里主要指的是客户端可以通过http协议传输任意类型的数据。比如传输.jpg文件、.ppt文件等等,只需要设定content-type就可以进行传输。至于content-type是什么,咱们后面再细讲。
**
三、http请求/响应的步骤是什么?
**
1、客户端连接到web服务器:客户端,我们通常指的是浏览器,与web服务器的http端口(默认情况下80)建立一个TCP套接字的连接。
2、发送HTTP请求:通过TCp套接字,浏览器向web服务器发送一个请求报文,一个请求报文包括请求行、请求头、空行、请求体四部分。
3、服务器端解析请求并返回http响应:web服务器解析请求,定位资源,返回响应报文。响应报文主要包括状态行、响应头部、空行、响应体四部分构成。
4、释放TCP连接:web浏览器主动关闭TCP套接字,关闭TCP连接。而客户端则需要被动的关闭TCP套接字,释放TCP连接。
5、客户端浏览器解析响应报文,解析成html内容,经过浏览器的渲染之后就能展示给人们了。
以上是关于HTTP协议的特点及访问流程(上网流程图解)的主要内容,如果未能解决你的问题,请参考以下文章