网络安全面试题及答案_网络协议面试题

网络安全面试题及答案_网络协议面试题今天我们整理一下关于前端面试时会问到HTTP协议的问题注:个人观点及答案,望大家采纳,指教!!HTTP简介:HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议;HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果等);HTTP工作原理:HTTP协议工作于客户端-服务端架构上,浏览器作为HTTP客户端通过URL向HTTP_http面试题

今天我们整理一下关于前端面试时会问到HTTP协议的问题

注:个人观点及答案,望大家采纳,指教!!

HTTP 简介:

HTTP 协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议;
HTTP 是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果等);

HTTP工作原理:

HTTP协议工作于客户端-服务端架构上,浏览器作为HTTP客户端通过URL向HTTP服务端发送所有请求。
web服务器有:Apache 服务器、lls服务器等;
HTTP默认端口号为80,但是也可以改为8080或者其他端口;

1.HTTP的优点和缺点?

优点:

  • 支持客户/服务器模式
  • 应用广泛且跨平台:
  • 简单快速、灵活:

缺点:

  • 无连接
  • 无状态:无状态可以减轻服务器负担,但进行关联操作时繁琐,Cookie正好可以解决这个问题
  • 明文传输:调试便利的同时带来了信息易被窃取
  • 不安全:(HTTPS通过引入SSL/TLS层,解决了这个隐患)

2.请求类型Get与Post之间的区别?

区别一:

get重点在从服务器上获取资源,post重点在向服务器发送数据;

区别二:
get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等; post较get安全性较高;

区别三:
get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;
post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的

区别四:
Get传输的数据量小,因为受URL长度限制,但效率较高;

Post可以传输大量数据,所以上传文件时只能用Post方式;

区别五:
get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。

post支持标准字符集,可以正确传递中文字符。

3.HTTP与HTTPS的区别?

HTTPS:是以安全为目标的 HTTP 通道,是 HTTP 的安全版。HTTPS 的安全基础是 SSL。SSL 协议位于 TCP/IP
协议与各种应用层协议之间,为数据通讯提供安全支持。

区别:

  • HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
  • HTTP和HTTPS 使用完全不同的连接方式,所用的端口不同,前者是80 端口,后者是 443端口

4.常见HTTP的状态码有哪些?

  • 200 – 请求成功
  • 301 – 资源(网页等)被永久转移到其它URL
  • 404 – 请求的资源(网页等)不存在
  • 500 – 内部服务器错误
补充:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.HTTP常见的字段有哪些?

  • URI&URL
    URI:统一资源标识符,不仅可以标识http,ftp等其他的网络资源
    URL:统一资源定位符

  • 请求头
    GET :获取一个资源,同时参数直接跟在URL后面,url长度受限制2048字节
    POST:不仅可以获取资源,还可以提交资源(譬如上传文件),参数放在请求体中,包大小4G
    HEAD:只要响应头,没有响应体,通常用于测试URL是否存在
    DELETE:删除一个资源
    PUT:通常修改一个资源

  • 响应头:
    Content-Length:响应体的长度
    Server:服务器的信息
    Content-Type:内容的类型,text/html,xml等
    Last-Modified :最有的修改日期,通常跟缓存相关 20151108
    Location: 新的地址

  • 响应码:
    200 OK 访问正常
    206 跟断点续传相关
    3XX 重定向:Location
    304 缓存有效
    307 临时重定向
    4XX 客户端问题
    401 代表没有权限访问
    404 代表访问的资源不存在
    5XX 通常服务器内部处理的问题

7.请谈谈你对“ ****三次握手与四次挥手**** ”的理解并说说作用?

三次握手:

1、第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c)。此时客户端处于 SYN_Send 状态。

2、第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s),同时会把客户端的 ISN + 1 作为 ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_REVD 的状态。

3、第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 establised 状态。

服务器收到 ACK 报文之后,也处于 establised 状态,此时,双方以建立起了链接。

三次握手的作用:

1、确认双方的接受能力、发送能力是否正常;
2、指定自己的初始化序列号,为后面的可靠传送做准备;
3、如果是 https 协议的话,三次握手这个过程,还会进行数字证书的验证以及加密密钥的生成到。
在这里插入图片描述

四次挥手:

1、第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于FIN_WAIT1状态。

2、第二次握手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 + 1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT状态。

3、第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。

4、第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 + 1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态

服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。
在这里插入图片描述

今天的文章网络安全面试题及答案_网络协议面试题分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58261.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注