计算机网络相关知识
发布时间:2024年01月19日
1.http和HTTPS的区别
- 安全性:HTTPS是基于SSL/TLS的传输协议,它提供了加密传输和身份认证,而HTTP是明文传输的协议,容易受到中间人攻击。
- 连接方式:HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样。HTTP通常使用80端口,而HTTPS使用的是443端口。
- 证书:HTTPS需要到CA申请证书,一般免费证书较少,因而需要一定费用。而HTTP不需要证书。
- 连接状态:HTTP是简单连接,是无状态的。HTTPS是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
2.get和post的区别
- 数据获取方式:GET是从服务器上获取数据,而POST是向服务器传送数据。
- 数据传递方式:GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,该过程对用户是屏蔽的。
- 数据大小限制:GET传送的数据量较小,不能大于2KB,而POST传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
- 安全性:GET安全性非常低,POST安全性较高。
- 执行效率:GET执行效率较高,因为如果传输的数据相同,可能会返回缓存中的内容。
3.TCP与UDP的区别
TCP(传输控制协议)和UDP(用户数据报协议)是互联网协议(IP)中两种主要的传输层协议,它们之间的主要区别如下:
- 连接性:TCP是一种面向连接的协议,需要在传输数据之前进行三次握手建立连接。而UDP是无连接的协议,可以直接发送数据,无需事先建立连接。
- 可靠性:TCP提供了数据传输的确认和重传机制,能对数据进行排序和校验,因此TCP传输的数据是可靠、有序和正确的。相较之下,UDP则没有这样的保证,可能会出现数据丢失、重复或者乱序到达的情况。
- 速度:由于UDP的无连接特性和简单的传输机制,相对于TCP,UDP在数据传输过程中不需要进行复杂的握手和确认过程,因此UDP的传输速度相对较快。
- 流量控制和拥塞控制:TCP具有复杂的流量控制和拥塞控制机制,可以根据网络状况动态调整数据传输的速度,以防止网络拥塞。而UDP没有这样的控制机制。
- 头部开销:TCP的头部开销比UDP大。TCP头部固定20字节,而UDP头部固定8字节。
- 应用场景:由于TCP的可靠性和顺序性,它主要用于需要可靠传输的场景,比如网页浏览、电子邮件、文件传输等。而UDP由于其简单和快速的特点,主要用于实时应用,如流媒体、实时游戏、VoIP(语音通话)等。
4.cookie和session的区别
- 存放位置:Cookie保存在客户端,而Session保存在服务器端。
- 存储类型:Cookie中只能保存ASCII字符串,而Session可以保存任意类型的数据,甚至Java Bean乃至任何Java类、对象等。
- 隐私策略:Cookie存储在客户端,对客户端是可见的,可被客户端窥探、复制、修改。而Session存储在服务器上,不存在敏感信息泄露的风险。
- 有效期:Cookie的过期时间可以被设置得很长,而Session依赖于名为JSESSIONID的Cookie,其过期时间默认为-1,只要关闭了浏览器窗口,该Session就会过期。
- 对服务器的压力:每个用户都会产生一个Session,如果并发访问的用户过多,就会产生非常多的Session,耗费大量的内存。
- 浏览器支持:由于Session在服务器端存储数据,因此对浏览器的支持度较高。
5.常用响应状态码的含义
- 200:表示请求成功,请求已成功被服务器接收、理解并处理。
- 400:表示客户端发送的请求有误,服务器无法理解。
- 401:表示请求未授权,需要进行身份认证。
- 403:表示服务器理解请求客户端的请求,但是拒绝执行此请求。
- 404:表示客户端发送的请求所对应的资源不存在。
- 500:表示服务器内部错误,无法完成对请求的处理。
- 501:表示服务器不支持实现请求所需要的功能。
- 502:表示作为网关或代理的服务器收到的上游服务器响应无效。
- 503:表示服务器目前无法处理请求(可能是服务器过载或维护)。
- 504:表示服务器接收到的上游服务器响应超时。
- 505:表示服务器不支持请求中所使用的HTTP协议版本。
6.三次挥手,四次握手
三次握手和四次挥手是TCP(传输控制协议)中建立和断开连接的过程。
三次握手:
- 客户端向服务器发送一个SYN(同步)包,请求建立一个TCP连接。
- 服务器收到SYN包后,回应一个SYN-ACK(同步-确认)包,表示客户端的请求已被接受。
- 客户端收到SYN-ACK包后,发送一个ACK(确认)包,表示连接已成功建立。
四次挥手:
- 客户端发送一个FIN(结束)包,表示要关闭连接。
- 服务器收到FIN包后,回应一个ACK包,表示已经收到了客户端的关闭请求。
- 服务器发送一个FIN包,表示自己也要关闭连接。
- 客户端收到FIN包后,回应一个ACK包,表示连接已成功关闭。
这个过程确保了双方都明确知道连接何时建立和何时关闭,并且保证了数据传输的完整性和可靠性。
文章来源:https://blog.csdn.net/niuniu_666/article/details/135689499
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!