什么是HTTP协议
HTTP是超文本传输协议,从www浏览器传输到本地浏览器的一种传输协议,网站是基于HTTP协议的。例如网站的图片、CSS、JS等都是基于HTTP协议进行传输的。
HTTP协议是由客户机到服务器的请求(request)和从服务器到客户机的响应(response)进行约束和规范。
了解TCP/TP协议栈
1.应用层
为用户提供所需要的各种服务。例如:HHTP、FTP、DNS、SMTP等。
2.传输层
为应用层实体提供端到端的通信功能,保证数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
3.网络层
主要解决主机到主机的通信问题。IP协议是国际互联层最重要的协议。
4.网络接口层
负责监视数据在主机和网络之间的交换。
事务的概念
原子性:操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态。
一致性:事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。
隔离性:在该事务执行的过程中,无论发生的任何数据的改变都应该只存在于该事务之中,对外界不存在任何影响。只有在事务确定正确提交之后,才会显示该事务对数据的改变。其他事务才能获取到这些改变后的数据。
持久性:当事务正确完成后,它对于数据的改变是永久性的。
HTTP的工作过程
一次HTTP操作成为一个事务,其工作过程为四步:
1)首先客户机与服务器需要建立连接,只要单击某个超级链接,HTTP开始工作
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL),协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为⼀个状态⾏,包括信息的协议版本号、⼀个成功 或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显⽰在⽤户的显⽰屏上,然后客户机与服务器断开连接。
如果在以上过程中的某⼀步出现错误,那么产⽣错误的信息将返回到客户端,有显⽰屏输出。对于⽤户 来说,这些过程是由HTTP⾃⼰完成的,⽤户只要⽤⿏标点击,等待信息显⽰就可以了。
HTTP状态码
状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求