4. 网络编程TCP UDP HTTP SEO WSGI 等

4.1.1 UDP 和 TCP 有什么区别以及各自的优缺点?

区别:
	1、UDP是面向无连接的通信协议,发送数据前不需要建立连接;TCP是面向连接的通信协议,发送数据前需要通过三次握手来建立连接
	2、UDP数据不保证完全交付,存在丢包的情况;TCP发送数据可靠,无差错,不丢失,不重复
	3、UDP对系统资源要求不高,TCP对系统资源要求高
	4、UDP适合于传输大量数据且不要求传输精度的场合,TCP适合传输少量数据且传输精度高的场合
	5、UDP传输速度快,TCP传输速度慢
	6、UDP面向报文,TCP面向字节流
UDP优缺点:
	优点:传输速度快
	缺点:不稳定、不可靠,存在丢包的现象
TCP优缺点:
	优点:可靠、稳定
	缺点:传输速度慢、效率低、浪费系统资源

4.1.2 IP 地址是什么?有哪几类?

IP地址是TCP/IP网络中每台主机或设备的唯一标识符
一共分为5类,A类地址、B类地址、C类地址、D类地址、E类地址

4.1.3 举例描述一下端口有什作用?

端口是应用程序与外界进行信息交互的出入口,比如说聊天室程序的客户端和服务器端就是通过识别指定端口号进行交互的

4.1.4 不同电脑上的进程如何实现通信的?

网络,而不同的计算机系统之间通过网络通信就必须遵守一定的协议。如TCP/IP、FTP、SMTP等

4.1.5 列举一下常用网络通信名词?

端口、TCP/IP、UDP、带宽、网关、局域网、路由器、交换机

4.1.6 描述一下请求一个网⻚的步骤(浏览器访问服务器的步骤)?

1、用户输入网址在浏览器上
2、浏览器收到用户输入的网址找到对应的ip地址并向服务器请求
3、服务器收到请求后,从数据库中获取对应的数据
4、将获得的数据写入到网站中,再将处理后的源代码返回给浏览器
5、浏览器得到后渲染解析成网页界面

4.1.7 HTTP 与 HTTPS 协议有什么区别?

HTTP协议传输的数据是不加密的,明文的,传输隐私信息不安全,默认使用80端口
HTTPS协议是SSL证书+HTTP协议的传输方式,数据加密,更加安全,默认使用443端口

4.1.8 TCP 中的三次握手和四次挥手是什么?

建立连接:三次握手
第一次客户端向服务器发送连接建立请求,并等待
第二次服务器向客户端发送收到连接请求允许连接,并进入等待连接的状态
第三次客户端向服务器发送连接信号,双方建立连接
关闭连接:四次挥手
第一次客户端向服务器发送关闭连接请求,并等待
第二次服务器向客户端发送收到连接关闭请求,并发送请等待我的关闭允许
第三次服务器所有数据传输完成给客户端发送允许关闭信号
第四次客户端给服务器发送关闭信号,双方连接断开

4.1.9 TCP 短连接和⻓连接的优缺点?各自的应用场景?

长连接的步骤:建立连接->数据传输…(保持连接)…数据传输->断开连接
短连接的步骤:建立连接->数据传输->断开连接…建立连接->数据传输->断开连接
长连接的优点:节约了数据传输的时间
	      缺点:当客户端的连接数量变多了后,会给服务器造成压力,服务器可以采取一些措施,关闭一些长时间没有进行读写操作的连接
短连接的优点:对于服务器来说方便管理,存在的都是有效的连接
		缺点:如果客户端请求频繁,建立连接和关闭连接会花费大量的时间和带宽
长连接的应用场景:
	操作频繁,且连接个数不多的情况,如数据库的连接
短连接的应用场景:
	web网站,因为web网站的访问量大,一次连接的个数可能会有上万上亿

4.1.10 TCP 第四次挥手为什么要等待 2MSL?

1、为了防止客户端发送给服务器的确认因网络的原因丢失导致客户端关闭而服务器没有关闭
2、等待2MSL可以让本次连接在网络上的所有数据包都消失,以免导致不必要的干扰。比如旧client关闭,然后又向server建立新的连接,我们不能保证旧连接的端口号和新连接的不同,如果端口号一样且前一次的连接仍有数据包在网络上,这些数据会在新连接建立后到达server,导致数据发送混淆

4.1.11 HTTP 最常⻅的请求方法有哪些?

GET、POST、PUT、DELETE、CONNECT、HEAD

4.1.12 GET 请求和 POST 请求有什么区别?

1、请求数据上看,GET请求是通过URL直接请求数据的,请求数据是放在URL上的,可以直接看到,比如浏览器访问;而POST请求的数据是放在请求头中,不能直接看到
2、请求数据大小来看,GET请求的数据有大小限制,一般是不大于1024字节,但这个说法不完全对,因为HTTP协议中对URL的大小并没有上限限制,但是浏览器做了处理,所有GET的请求数据的大小因浏览器的不同而不同;POST请求的大小在HTTP协议中没有做说明,理论上是没有上限的,但是浏览器有默认值。总的来说,小数据用GET,大数据用POST。
3、安全性来看,由于GET请求的数据是放在URL上的,直接暴露在外面,所以安全性低,特别是包含登录密码这类信息的数据,是不能用GET请求的;POST请求的数据放在请求头中,相对GET请求来说,安全性高一些,但也不是绝对安全的。

4.1.13 cookie 和 session 的有什么区别?

1、session把数据存储在数据库里,cookie把数据存储在客户端(浏览器)上
2、session的安全性比cookie强

4.1.14 七层模型和五层模型是什么?

七层模型:开放式系统互联,一般叫做OSI参考模型,由物理层、数据链路层、网络层、传输层、会话层、表示层、应用层构成。
五层模型:TCP/IP五层模型,由物理层、数据链路层、网络层、传输层、应用层构成。

4.1.15 HTTP 协议常⻅状态码及其含义?

200 ok:服务器成功处理请求
403 Forbidden:服务器禁止请求
404 not found:服务器找不到请求网页
400 bad request:服务器无法理解的请求格式
401 unauthorized:未授权
500 internal server error:最常见的服务器端错误

4.1.16 HTTP 报文基本结构?列举常用的头部信息?

HTTP报文是用于HTTP协议交互的信息,HTTP报文本身是由多行数据构成的字符串文本。客户端的HTTP报文叫做请求报文,服务器端的HTTP报文叫做响应报文。
HTTP报文由报文首部和报文主体构成,中间由一个空行分隔。 

Host、Connection、Cookie、Accept、Referer

4.1.17 SEO 是什么?

搜索引擎优化,是一种利用搜索引擎的规则来提高网站在有关搜索引擎里的自然排名的方式

4.1.18 伪静态 URL、静态 URL 和动态 URL 的区别?

动态url不存在与服务器上,只有产生一个请求时,才会返回一个具体的页面内容,内容存放在数据库中,所以如果数据库连接异常,网页也会出错
静态url是存放在服务器上的文件,通常以.html结尾,不调用数据库
伪静态url也是一种动态url,只不过表现形式为静态

4.1.19 浏览器静态请求和动态请求过程的区别?

静态:
1、用户输入网址在浏览器上
2、浏览器收到用户输入的网址找到对应的ip地址并向服务器请求
3、服务器收到请求后,在服务器上查找相应的静态页面文件
4、将获得的文件返回给浏览器
5、浏览器得到后渲染解析成网页界面

动态:
1、用户输入网址在浏览器上
2、浏览器收到用户输入的网址找到对应的ip地址并向服务器请求
3、服务器收到请求后,从数据库中获取对应的数据
4、将获得的数据写入到网站中,再将处理后的源代码返回给浏览器
5、浏览器得到后渲染解析成网页界面

4.1.20 WSGI 接口有什么好处?

是web服务器和web应用程序或框架之间的一种简单而通用的接口,它可以做到不修改服务器和应用程序架构的代码的基础上确保可以在个架构下运行服务器。

4.1.21 简单描述浏览器通过 WSGI 接口请求动态资源的过程?

浏览器发送http动态资源请求给服务器
服务器收到请求后通过wsgi调用一个属性给应用程序框架
应用程序框架通过wsgi调用web服务器的方法,设置返回的状态和信息
服务器调用后返回,此时服务器保存了刚刚设置的信息
应用程序框架查询数据库生成页面的信息并发给服务器
服务器把页面数据发给浏览器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值