1.什么是http协议?
1⃣️ http协议的全程是超文本传输协议,即hyper transfer protocol的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议,他可以是浏览器更加高效,使网络传输减少,还能保证计算机正确快速的传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等;
2⃣️ http是一个基于Tcp/IP通信协议来传递数据(html文件、图片、文件查询结果等等);
3⃣️ http是一个属于应用层的面向对象的协议,由于简介快速的方式,适合于分布式超媒体信息系统;
4⃣️ http协议工作于客户端通过URL向http服务端即web服务器发送请求;
2.http协议的主要特点:
1⃣️ 简单快捷
客户向服务器请求服务时只要传送请求方法和路径即可;
请求方法常用的有get head post, 每种方法规定了客户于服务器联系的类型不同,由于http协议简单,使得http服务器的程序规模小因而通信速度很快;
2⃣️灵活
http允许传输任意类型的数据对象,正在传输的类型有content-type加以标记;
3⃣️无连接
无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求并收到客户的应答后即断开连接,采用这种方式可以节省传输时间;
4⃣️无状态
http协议是无状态协议的,无状态协议是指对与事务处理没有记忆能力,缺少状态意味着如果如果后续处理需要前面的信息则它需要重新传,这样可能导致每次连接传送的数据量增大,另一方面在服务器不需要先前信息时他的应答就较快;
5⃣️ 支持B/S 及 C/S模式;
3.http请求的方法有哪些?
http的请求方法有6种:
常用的有:get post head;
不常用的有:put delete options(这是三个不常用的也要知道因为面试会问);
4. http请求流程:
1⃣️ 建立TCP/IP连接;
⬇️(通过socket三次握手进行连接)
2⃣️发送请求(客户端向服务器发送http请求);
⬇️
3⃣️ 发送请求头信息,请求内容后发送一条空白行,表示客户端请求完毕;
⬇️
4⃣️ 服务器应答;
⬇️
5⃣️服务器向客户端发送应答应信;
⬇️
6⃣️ 服务器向客户端发送请求头信息,请求内容后也发送一条空白行;
⬇️
7⃣️关闭TCP连接;
5.http请求常见返回状态吗有哪些?分别什么意思?
1⃣️ 2开头的状态码(表示成功处理了请求时状态码);
200(成功):服务器以成功处理了请求;
2⃣️ 3开头的状态码(表示要完成请求需要进一步操作,通常这些状态用来重定向)
304(未修改):自从上次请求后,请求的网页未修改过,服务器返回此页面响应时不会返回网页内容;
3⃣️ 4开头的状态码(这些状态码表示请求可能出错,妨碍了服务器的处理)
400(错误请求):服务器不理解请求的语法;
403(禁止):服务器拒绝请求;
404(未找到):服务器找不到请求的网页;
4⃣️ 5开头的状态码(服务器错误)
501(尚未实施):服务器不具备完成请求的功能;(例如服务器无法识别请求的方法可能会返回此代码)
502(服务器内部错误):服务器遇到错误,无法完成请求;
503(错误网关):服务器目前无法使用(由于超载或停机维护)通常这是是暂时状态;
504(网关超时):服务器作为网关或代理但是没有及时从上游服务器发到请求;
505(http版本不受支持):服务器不支持请求中所有的http协议版本;
5.http和https的区别:
1⃣️ http不安全 https安全
2⃣️ http标准端口是80,而https标准端口是443;
3⃣️ 在OSI网络模型中http工作于应用层,而https是的安全传输机制在传输层;
4⃣️ http无法加密,https对传输数据可加密;
5⃣️ http无需证书,https需要CA机构SSL证书;