http概念

http概念
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件, 图片文件, 查询结果等)。
HTTP是一个简单的请求与响应的协议,它运行在TCP的基础之上,它指定了客户端能传递什么信息以及客户端能接收什么响应。请求和响应消息的头部以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。

http协议在中文名称被称为:超文本传输协议,它运行在TCP(传输控制协议)的基础之上
它的作用是规范了WWW服务器与浏览器之间的信息传递规范。(即能发送什么与能收到什么响应)

HTTP发展阶段:
从最开始的0.9/HTTP协议 发展之初HTTP协议仅仅只是支持各种数据信息的简洁快速协议,只能交换信息的无序协议,并限制于文字。由于无法进行内容的协商,起始的http协议是无法对图片的进行处理和显示的。(请求方式限制于 get,并且只能请求访问html格式资源)。

在1982年 TimBerners-Lee提出了HTTP/1.0,在后面的不断发展中Http/1.0成为了最重要的面向事务的应用层协议。这个协议对每一次请求/响应建立并拆除一次连接,它的特点是简单,便于管理,满足了当时的需求并得到广泛的应用。 其他的新增功能还包括状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等。(1.1版本新增请求方式POST与HEAD不在局限html格式资源可以根据Content-Type可以支持多种数据格式,例如 text/html,image/jpeg等,同时开始支持cache,就是当客户端在规定的时间内访问统一的网站,直接访问cache即可)

在1.1协议中双方规定了连接方式与连接类型,到这里已经大大的扩展了http的领域,但是对于互联网最需要的速度和效率来说,并没有太多的考虑。1.1版本中最大的变化就是引入了持久连接(persistent connection) 即TCP连接默认不关闭,可以被多个请求复用,不用声明
1.1版本加入了持久连接,一个TCP连接可以允许多个HTTP请求。
加入了管道机制,在同一个TCP连接里,允许多个请求同时发送,增加了并发性,进一步的改善了http协议的效率,举个例子:客户端需要请求两个资源,以前的做法的在同一个TCP中让A请求先发送然后等待服务器做出回应,然后在发送请求B。管道机制则可以让客户端里的请求同时发送但是在响应还是会按请求顺序来响应。1.1版本还有许多的新加入的东西,有兴趣可以参阅有关1.1http协议的资料
2.0版本新增了双工模式解决1.1版本的利用率部高的问题,即不仅客户端可以同时发送多个请求,服务端也能同时处理多个请求,解决了队头堵塞问题 不过当前的主流还是1.1版本。
1.1版本与2.0版本所包含的协议太多有关于2.0版本的具体内容可自行参阅

HTTP消息结构:
HTTP是基于客户端/服务端的(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应
客户端请求消息:
客户端发送一个请求到服务器的消息包括:请求行(request,line),请求头部(header ),空行和请求数据四个部分组成 下图给出请求报文的一般格式
在这里插入图片描述
服务器响应消息:
HTTP响应也是由4个部分组成的分别是:状态行,消息报头,空行和响应正文。
在这里插入图片描述

HTTP工作原理:
HTTP协议工作于客户端上-服务端架构上,浏览器作为HTTP客户端通过URL向HTTP服务端即web服务器发送所有的请求 HTTP是基于客户与服务器模式,且是面向连接的。

  1. 客户端与服务器建立连接
  2. 客户端向服务器提出请求
  3. 服务端接收请求,根据请求发送相对应的文件作为回应。
  4. 客户端与服务端关闭连接
    客户端与服务端之间的HTTP连接是一次请求/响应建立并拆除一次连接

HTTP的请求方法
在这里插入图片描述
HTTP常见的状态码
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值