网络编程 初级面试题整理

1、网络协议是什么?

​ 在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。

2、网络协议的七层模型

​ 1、应用层:通过对应用操作,确定用户的请求

​ 2、表示层 3、会话层

​ 4、运输层:提供通用的数据传输服务,保证服务器的数据能正常交互

​ 5、网络层:确保计算机通信的数据及时传送(数据传输的速度取决于网络的速度)

​ 6、数据链路层:保证主机的数据能够正常传输 7、物理层

3、运输层主要使用的两种协议

​ 1、传输控制协议-TCP:提供面向连接的,可靠的数据传输服务。

​ 2、用户数据报协议-UDP:提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)

4、请求报文

​ 1、起始行:

​ 请求的方法(get post) 请求的URL 协议类型及版本(HTTP/1.1)

​ 2、请求头:

​ Host:给出了接收请求的服务器的主机名和端口号

​ Referer:提供了包含当前请求URI的文档的URL

​ User-Agent:将发起请求的应用程序名称告知服务器

​ token:请求密钥

​ 3、请求体:发出请求的参数

5、响应报文

​ 1、起始行:状态码(200 404 500)

​ 2、响应头 3、响应体

6、常见的状态码

​ 200~299(成功状态码) 300~399(重定向状态码)

​ 400~499(客户端错误状态码) 500~599(服务器端错误状态码)

7、TCP的三次握手

​ 1、客户端会生成一个序列号seq去访问服务端

​ 2、服务端拿到客户端的序列号seq保存,并生成一个ack标志给客户端

​ 3、客户端拿着ack标志和序列号访问服务端,服务端验证通过则建立TCP连接,进行数据传输

8、TCP的四次挥手

​ 1、客户端请求数据传输完成后,携带FIN标志和序列号seq向服务端发生释放连接报文(还没完全收到响应数据,即可发送)

​ 2、服务端收到报文后,携带ACK标识回复确认报文

​ 3、服务端将响应数据传输完毕,向客户端发出连接释放报文

​ 4、客户端收到释放报文,携带(ack、seq)向服务端发送确认报文

9、HTTP和HTTPS的区别

​ 端口80 443

​ http:运行在TCP协议之上,明文传输

​ https:请求响应都经过加密处理,可以说更安全

10、post跟get的区别

​ get的请求参数一般携带在url之上

​ url的长度限制,get的请求参数不会太长,Google限制 8000字符

​ post的请求参数携带在请求体里面,会更加安全,可以携带大量的请求参数

11、session、cookie 、token的区别

​ session:保存在服务端,大小无限制

​ cookie:保存浏览器端,数据量不能超过4K

​ token:一般根据用户登录生成,用来保存当前登录的信息,访问系统功能都会根据token进行身份校验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值