博客列表 >HTTP协议

HTTP协议

莫名的博客
莫名的博客原创
2018年02月12日 15:00:021051浏览

定义:超文本传输协议,是web浏览器和web服务器在交互过程中必须遵循的规则,基于tcp/ip协议的应用层协议


运行方式:

1.建立连接

2.发送请求

3.发送响应内容

4.关闭连接


引入问题:

1.服务器和浏览器是如何通信的?

2.服务器数如何对浏览器发送的请求进行处理的?

3.浏览器是如何对服务器返回的数据进行处理?


OSI七层模型:

1.应用层

2.表示层

3.会话层

4.传输层

5.网络层

6.数据链路层

7.物理层


背景:

TCP/UDP是广泛使用的网络通讯协议,那么为什么又出来一个http呢?

UDP协议具有不可靠性和不安全性,显然这很难满足web应用的需求,而TCP是基于三次握手,虽然具有可靠性,但是具有一定的缺陷,试想,普通的C/S软件,顶多上千个client同时连接,而B/S架构的网站,几万人在线是很常见的,如果几万个用户同时和服务器一直保持连接,那么服务器将如何承载呢?

引出:

所以这就出现了http协议,基于tcp的可靠连接,但是在请求之后,服务器会立即关闭连接,释放资源,这样既确保了资源可用,有吸取了tcp可靠的优点

但是,也是因为这点,http变成了无状态协议,即服务器不知道客户端干了什么,其实这紧紧是基于性能的考虑


http协议分为请求和响应

请求:

1.请求行

描述客户端的请求方式,请求的资源名称,以及使用http协议的版本号

2.请求头

描述客户端请求了哪台主机,以及客户端的一些常用信息

3.请求内容

post提交表单内容

get提交url上问号后的内容

响应:

1.响应行

描述服务器对请求的处理结果

2.响应头

描述服务器的基本信息,以及数据的描述。

3.响应内容

告诉浏览器发送的信息


状态码:

100-199:表示完成接受请求,要求客户端继续提交下一次请求才能完成整个处理过程

200-299:表示完成请求并已完成整个处理过程

300-399:为完成请求,客户端需要进一步细化请求,例如,请求资源已经移动一个新地址

400-499:客户端请求出错

500-599:服务器端出现错误



上一条:测试文章下一条:今天算是长知识了
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议