网站怎样做301跳转,晚上必看的正能量网站app,做网站公司排名电话,推广软件哪个好目录
编辑
一.Session和cookie
Cookie
Session
二.HTTP和HTTPS的区别
三.浅谈HTTPS为什么是安全的#xff1f;
四.TCP和UDP
五.GET和Post的区别
六.forward 和 redirect 的区别#xff1f; 本专栏全是博主自己收集的面试题#xff0c;仅可参考#xff0c;不能相…目录
编辑
一.Session和cookie
Cookie
Session
二.HTTP和HTTPS的区别
三.浅谈HTTPS为什么是安全的
四.TCP和UDP
五.GET和Post的区别
六.forward 和 redirect 的区别 本专栏全是博主自己收集的面试题仅可参考不能相信面试官就出这种题目。 一.Session和cookie Session和Cookie是用于在Web应用中跟踪用户状态和保持用户数据的重要机制。 Cookie Cookie是服务器发送到用户浏览器并保存在本地的小型文本文件。它通常用于 跟踪用户通过将唯一标识符存储在Cookie中服务器可以识别和跟踪特定用户的访问行为。保存用户偏好设置例如语言偏好、主题选择等使得用户下次访问时能够继续使用他们的偏好设置。保持登录状态最常见的用途之一是通过Cookie来维持用户的登录状态。当用户进行登录时服务器会在Cookie中设置一个会话标识符浏览器会在后续的请求中将这个标识符发送回服务器从而保持用户的登录状态。 特点 存储在客户端Cookie是存储在用户的浏览器中的每次用户访问同一个域名下的页面时浏览器都会将相关的Cookie发送给服务器。大小限制每个Cookie的存储容量通常有限制通常在几KB到几MB之间因此不适合存储大量数据。安全性考虑Cookie中的数据可以被用户查看和修改因此不适合存储敏感信息如密码等。 Session Session是在服务器端存储的关于用户会话的信息。它通常用于 保持状态服务器可以在会话中存储用户的状态信息如登录状态、购物车内容等。安全性与Cookie相比Session存储在服务器端用户无法直接访问或修改它因此更适合存储敏感信息。性能由于数据存储在服务器端内存中访问速度通常比Cookie快。 Session的工作流程如下 会话创建当用户首次访问服务器时服务器会为该用户创建一个唯一的会话标识符Session ID。存储信息服务器使用这个Session ID来存储和检索与用户相关的信息可以是关于用户状态的数据。传递标识符为了在请求之间保持会话服务器会将Session ID发送给客户端。通常这个Session ID 被放置在Cookie中称为Session Cookie。过期管理会话可以有过期时间一旦过期服务器会删除与之关联的数据用户需要重新登录或重新创建会话。 总结
Cookie存储在用户的浏览器中的数据会话标识符、兴趣爱好等每次请求都会发送给服务器。Session存储在服务器端客户端只保存一个标识符Cookie由于存储在客户端Cookie中的数据可以被用户查看和修改不安全Session数据存储在服务器端用户无法直接访问或修改Session中的数据安全Cookie每个Cookie通常有存储容量限制Session存储在服务器端理论上没有大小限制受限于服务器内存或存储设施的大小。Cookie可以设置过期时间可以是会话Cookie关闭浏览器后失效或持久Cookie在指定时间后失效。Session通常有一个过期时间或者在用户退出登录时被销毁也可以手动清除。 二.HTTP和HTTPS的区别 http协议是超文本传输协议一种明文数据传输的网络协议但也因此不安全。 传输的数据可有html、图片、文本文件、音频和视频、应用程序json、xml等、软件安装包等 特点 简单快速 HTTP的设计简单直接基于请求-响应模型使得通信高效迅速。它通常使用短连接即每个请求/响应对都使用一个单独的TCP连接来处理减少了服务器的负担同时也不会消耗过多的资源。 灵活 HTTP允许传输任意类型的数据对象。不限于传输超文本还可以传输图片、音频、视频等多媒体内容甚至可以传输应用程序的数据。 无连接 HTTP协议是无连接的即每次请求都是独立的服务器不会保存前一次请求的信息因此它是一种无状态协议。这样的设计简化了服务器端的设计和实现但也增加了一些管理和状态维护的复杂性为了解决这个问题引入了Cookie等机制来维护状态。 HTTPS 协议HyperText Transfer Protocol over Secure Socket Layer可以理解为HTTPSSL/TLS 即 HTTP 下加入 SSL 层HTTPS 的安全基础是 SSL因此加密的详细内容就需要 SSL用于安全的 HTTP 数据传输。HTTPS协议基于TLS/SSL协议加密进行TCP传输 进行了加密拿到的是密文。传输端口为443。 二者之间的主要区别
加密机制HTTP不加密数据传输而HTTPS通过SSL/TLS加密传输数据。安全性HTTP传输的数据容易被窃听和篡改HTTPS传输的数据经过加密保护安全性更高。端口HTTP默认端口号为80HTTPS默认端口号为443。使用场景HTTP适用于不涉及隐私和安全要求不高的数据传输而HTTPS用于保护敏感数据的传输和保障用户隐私。默认端口http使用的是80端口https使用的是443端口。在网络模型中HTTP工作于应用层而HTTPS工作在传输层。连接过程http中使用的是tcp三次握手三次握手进行连接。https中使用的是tcp的三次握手加上TLS安全传输层四次握手。
三.浅谈HTTPS为什么是安全的 通过几个方面来解答
第一个加密传输使用了SSL和TLS协议进行加密HTTP的通信。
第二个有加密哈希算法例如SHA 可以保证数据的完好性服务器在接收数据前会通过哈希函数验证数据的完整性
第三个由于SSL证书是第三方机构颁发可以验证服务器的身份确保发送数据的安全性
四.TCP和UDP 说起这两个我们得回忆下什么是Socket套接字。 Socket可以看作是两个计算机之间通信的端点。它包含了IP地址和端口号用来唯一标识网络中的一个进程。在通信的过程中每个参与通信的程序都会创建一个Socket用来建立连接、发送和接收数据。 Socket套接字通常有两种类型流套接字Stream Socket和数据报套接字Datagram Socket也称TCP和UDP TCP协议 特点可靠的、面向连接的通信。流套接字提供了字节流的传输方式保证数据按照发送的顺序到达目标并且无差错、不丢失、不重复。
TCP的连接方式确认应答机制 第一次握手SYN 客户端向服务器端发送一个带有SYN同步序列编号标志的数据包表明客户端请求连接。此时客户端进入SYN_SENT状态等待服务器的确认。 第二次握手SYN ACK 服务器收到客户端的SYN请求后会以自己的SYN和ACK确认标志作为应答表示接受连接请求。服务器端进入SYN_RCVD状态。 第三次握手ACK 客户端收到服务器端的SYN和ACK确认后向服务器端发送一个带有ACK标志的数据包表示连接建立成功。客户端和服务器端均进入已建立连接的状态可以开始通信。 问四次握手和两次握手可以吗 答四次握手可以但多了一次交互增加了网络通信的时延和复杂度。而两次握手是不可行的服务器接收到同步序列号并且发送自身的syn和ack回复这是单方面的确认连接客户端有可能接收不到难以确定何时连接真正建立或中断。 四次挥手 第一次挥手 (FIN) 客户端或服务器决定关闭连接后发送一个FINFinish标志给对方表示它已经没有数据要发送了但仍愿意接收数据。 第二次挥手 (ACK) 接收到FIN的一方发送一个ACKAcknowledgment确认表示它已收到了关闭请求。 第三次挥手 (FIN) 接收到ACK的一方也准备好关闭连接时会发送一个FIN给对方表示它也没有数据要发送了。 第四次挥手 (ACK) 最后接收到第三步的FIN的一方发送一个ACK确认告知对方已收到关闭请求。 问为什么不会是三次挥手就是把中间的两次ack和fin结合在一起 答第一个原因TCP是全双工通信需要回应第二个可以提前关闭自身的发送能力确保数据不会丢失。 UDP协议 特点无连接面向数据报的通信协议只有接收缓冲区无发送缓冲区不保证数据传输的可靠性和顺序性但是具有低延迟的特点。
单播、多播和组播的特性 单播 例子你给你的朋友发短信。解释当你发送一条短信给你的朋友你知道这条信息只会被你的朋友接收到因为你只发送给了她的手机号码。这类似于UDP的单播数据从一个发送者你到一个特定的接收者你的朋友。 广播 例子学校的广播通知。解释学校广播通知是通过学校的广播系统发送到所有教室和办公室的。当校长或者行政人员发出通知时所有在校内的人都可以收到相同的消息即使他们分布在不同的房间里。这就像UDP的广播一个消息被发送到一个特定的地址广播地址所有在该地址上的接收者都可以接收到这条消息。 组播 例子视频会议。解释在一个视频会议中多个参与者通过互联网连接他们共享相同的视频和音频流。数据通过组播地址发送只有那些加入了会议的参与者才会接收到数据。这类似于UDP的组播数据从一个发送者视频会议服务器发送到一个特定的组参与视频会议的所有人。
TCP和UDP区别 五.GET和Post的区别
1、get 和 post请求是http协议中的两种请求方式。 2、get一般用来获取服务器的信息的post一般是用来更新信息
主要区别 数据传输方式 GET通过URL提交数据数据在URL中可见以查询字符串的形式附加在URL后面。例如http://example.com/resource?key1value1key2value2POST通过HTTP消息主体HTTP请求的消息主体body中进行传输传输数据数据不在URL中可见更多适用于传输敏感数据或大量数据。 数据长度限制 GET由于数据附加在URL中所以受到URL长度限制的影响不同的浏览器和服务器对URL长度限制不一致通常在几千字节左右。POST由于数据在HTTP消息主体中传输通常可以传输更多数据不受URL长度限制。 安全性 GET因为数据在URL中可见所以不适合传输敏感数据如密码等容易被截获或泄露。POST数据在HTTP消息主体中传输相对于GET请求更安全适合传输敏感信息。 幂等性 GET通常是幂等的即对同一URL的多次请求应该返回相同的结果。POST不一定是幂等的同一POST请求可能会导致不同的结果比如每次提交一个订单会产生一个新的订单号。 缓存处理 GET可以被浏览器缓存因为GET请求是幂等的通常不会对服务器数据产生影响。POST不适合被浏览器缓存因为POST请求可能会对服务器数据进行修改或增加缓存的数据可能不再有效。 六.forward 和 redirect 的区别 forward(转发和redirect(重定向)是两种不同的请求转发机制
Forward转发
forward是服务器内部的转发机制将请求从一个资源通常是Servlet传递到另一个资源Servlet或JSP所有操作都在服务器内部完成客户端浏览器不知道发生了转发。
特点
单次请求-响应forward是一次请求-响应过程浏览器只发起一次请求服务端接收请求后将请求转发给另一个资源再由该资源生成响应返回给浏览器。URL不变浏览器的地址栏保持不变显示的是最初请求的URL因为对客户端来说只发起了一次请求。
使用场景用户在一个表单页面填写了一些信息然后点击提交按钮。服务器端的Servlet收到这个提交请求处理其中的数据然后根据处理结果决定展示给用户一个结果页面。如果这两个页面需要共享相同的请求数据比如用户的姓名、邮箱等信息使用forward可以直接将原始请求中的数据传递给结果页面而无需将这些数据存储在数据库或者通过其他方式传递。预览
Redirect重定向
redirect是一种通过客户端浏览器的重定向机制告知浏览器应该向新的URL发起新的请求。服务器返回一个特殊的响应码通常是302 Found指示浏览器重新定向到新的URL。
特点
两次请求-响应redirect会触发浏览器发起两次请求-响应循环。第一次请求服务器时服务器返回重定向响应码和新的URL浏览器根据新URL再发起第二次请求。URL改变浏览器的地址栏会显示新的URL用户可以看到请求已经被重定向到另一个URL。