1.HTTP与HTTPS有什么联系?它们的端口号是多少
http是基于TCP连接的在TCP连接增加了(ssl/tsl)安全协议就是常说的https协议http默认端口号是80 https端口是443
2.为什么 HTTPS更安全?
在请求网络中会有很多节点和服务器,在其他节点可能出现篡改信息,如果使用的是https协议密钥只有在终点才有,https之所以比http安全是因为他有ssl、tsl安全传输协议,它保证了流量传输,卸载负载均衡、页面适配、浏览器适配等传输技术保证了传输过程
3.说出你知道的HTTP常见状态码。
100Continue表示继续 200 OK表示正常返回信息 201 Created表示请求成功并且服务器创建了新的资源。202 Accepted表示服务器已接受请求,但尚未处理。301 Moved Permanently表示请求的网页已永久移动到新位置。302 Found表示临时性重定向。303 See Other表示临时性重定向,且总是使用GET请求新的URI 400 Bad Request表示服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。401 Unauthorized表示请求未授权。403 Forbidden表示禁止访问。404 Not Found表示找不到如何与URI相匹配的资源。500 Internal Server error表示最常见的服务器端错误。503 Service Unavailable表示服务器端暂时无法处理请求(可能是过载或维护)。
4.完整的HTTP事务流程是怎样的?
域名解析发起三次TCP握手建立TCP连接后发起HTTP请求。服务器端响应HTTP请求,浏览器得到HTML代码。浏览器解析HTML代码,并请求HTML代码中的资源浏览器对页面进行渲染并呈现给用户
5.什么是HTTP?
HTTP是客户端和服务器端之间数据传输的格式规范,表示“超文本传输协议”。
6.什么是HTTP无状态协议?如何克服HTTP无状态协议的缺陷?
无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续需要处理,需要前面提供的信息。克服无状态协议缺陷的办法是通过 cookie和会话保存信息。
7.HTTP的请求报文和响应报文包含哪些部分?
请求行,包含请求方法、URI、HTTP版本信息。请求首部字段。请求内容实体。
响应状态行,包含HTTP版本、状态码、状态码的原因短语。响应首部字段。响应内容实体。
8.HTTP中有哪些请求方式?
GET:请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL,给服务器传递参数数据POST:传输信息给服务器,主要功能与GET方法类似,但传递的数据量通常不受限制。PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。 DELETE:删除文件,与PUT方法相反,删除对应URL位置的文件。OPTIONS:查询相应URI支持的HTTP方法。
9.HTTP协议中1.0版本规范与1.1版本规范的区别是什么?
在HTTP1.0中,当建立连接后,客户端发送一个请求服务器就会关闭
在HTTP1.0中,引入了持续连接的概念
10.HTTP的首部字段包括哪些类型?
Date、Connection、Cache- Control、Transfer- Encoding、Host、Accept、Accept-Charset、Accept- Encoding
11.与HTTPS相比,HTTP有什么缺点?.
通信使用明文,不加密,内容可能被窃听,也就是被抓包分析。
不验证通信方身份,可能遭到伪装。无法验证报文完整性,可能被篡改。
HTTPS就是HTTP+加密处理(一般是SSL安全通信线路)+认证+完整性保护
12.如何优化HTTP请求?
利用负载均衡优化和加速HTTP应用请求;利用HTTP缓存来优化网站请求。
13.HTTP协议有哪些特征
支持客户端/服务器模式,简单快速,灵活,无连接,无状态。
14说说TCP传输的三次握手、四次挥手策略。
TCP采用了三次握手策略。用TCP把数据包发送出去后,TCP不会对传送后的数据置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志,即SYN和ACK。发送端首先给接收端发送一个带SYN标志的数据包。接收端收到后,回传一个带有SYN/ACK标志的数据包以表示正确传达,并确认信息。最后,发送端再回传一个带ACK标志的数据包,代表“握手”结東。若在握手过程中的某个阶段莫名中断,TCP会再次以相同的顺序发送相同的数据包断开一个TCP连接则需要“四次握手”。第一次握手:主动关闭方发送一个FIN,用来关闭主动关闭方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方,主动关闭方已经不会再给被动关闭方发送数据了(当然,在FIN包之前发送出去的数据,如果没有收到对应的ACK确认报文主动关闭方依然会重发这些数据),但是,此时主动关闭方还可以接收数据。第二次握手:被动关闭方收到FIN包后,给对方发送一个ACK,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。第三次握手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,被动关闭方的数据也发送完了,不会再给主动关闭方发送数据了。第四次握手:主动关闭方收到FIN后,给被动关闭方发送一个ACK,确认序号为收到序号+1,至此,完成四次握手。
15.说说TCP和UDP的区别。
TCP是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过3次“对话”才能建立起来
UDP是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。UDP适用于次只传送少量数据、对可靠性要求不高的应用环境。
16.网络分层模型有哪七层?
应用层:允许访问OSI环境的手段。表示层:对数据进行翻译、加密和压缩。会话层:建立、管理和终止会话。传输层:提供端到端的可靠报文传递和错误恢复。网络层:负责数据包从源到宿的传递和网际互联。数据链路层:将比特组装成帧并实现点到点的传递。物理层:通过媒介传输比特,确定机械及电气规范