什么是http协议?Get和post请求有什么区别?http请求
http协议_腾讯视频
1.背景介绍
什么是http协议?
http协议是一个属于应用层的面向对象协议,http是超文本传输协议的缩写,它是以传送www方式的传输超文本到本地浏览器的传送协议
http是一个基于TCP/IP通信协议来传递数据(html文件,图片文件,查询结果等)
http协议工作于客户端-服务端架构上,浏览器通过http客户端通过URL向HTTP服务器即web服务器发送所有请求.web服务器根据接收到的请求,向客户端发送响应信息
2.知识剖析
http协议特点
1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
3、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
4、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
get和post请求有什么区别?
get和post是http协议的两种不同的实现方式,get是指server从url取得所需参数,get可以看到参数,post是主动向server发送参数,所以一般看不到这些参数.
get方法通常用于请求服务器发送某个资源,post方法通常用来支持html的表单,表单中填好的数据通常会被发送给服务器,然后服务器将其发送到他要去的地方
http请求content-Type有几种?
Http Header里的Content-Type一般有这三种:
application/x-www-form-urlencoded:数据被编码为名称/值对,这是标准的编码格式
multipart/form-data:数据被编码为一条消息,页上的每个控件对应消息中的一个部分
text/plain:数据以纯文本形式进行编码,其中不含任何空间或格式字符,在postman软件里标的是RAW
http适合什么场景?
公司OA服务,互联网服务
3.常见问题
1:http的优缺点有哪些?
2:http的状态码有哪些
4.解决方案
http的优点:
1:基于应用级的接口,使用方便
2:要求的开发水平不高,容错性强
http的缺点:
1:传输速度慢,数据包大
2:如果要实现实时交互,服务器性能压力大
3:数据传输安全性差
http状态码有哪些?
http状态码有很多,就不一一举例了,说一个大概概念
1字头代表消息,代表请求已被接收,需要继续处理,这类响应只是临时响应
2字头代表成功,这一类型的状态码代表请求已成功被服务器接收,理解
3字头代表重定向.这类状态码代表需要客户端采取进一步的操作才能完成请求,通常,这些状态码用来重定向,后续的地址(重定向目标)在本次响应的location域中指明
4字头代表请求错误,这类状态码代表客户端看起来可能发生了错误,妨碍了服务器的处理
5字头代表服务器在处理请求的过程有错误或者异常状态发生
5.编码实战
6.扩展思考
我们常遇到的状态码的含义分别是哪些?
200:请求已成功,请求所希望的响应头或数据体将随此响应返回。
403:服务器已经理解请求,但是拒绝执行它。
404:请求失败,请求所希望得到的资源未被在服务器上发现.404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。出现这个错误的最有可能的原因是服务器端没有这个页面。
405:请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。鉴于 PUT,DELETE 方法会对服务器上的资源进行写操作,因而绝大部分的网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。
500:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
503:由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。
7.参考文献
百度
8.更多讨论
鸣谢
感谢观看,如有出错,恳请指正