第三章 web阶段

简介: HTTP协议即超文本传输协议,是客户端与服务器通信的规则,基于TCP协议,具有无状态、面向连接的特点。现代Web开发多采用HTTP或HTTPS协议。相比HTTP明文传输,HTTPS通过SSL加密保障数据安全,端口为443,更安全但资源消耗更高。GET与POST是常见请求方式:GET参数在URL中传递,长度受限且安全性低,用于获取数据;POST参数在请求体中,安全性高,适合提交数据。当前主流项目多采用Restful风格,通过URL定位资源,通过请求方式(GET/POST/PUT/DELETE)定义操作类型。

什么是HTTP协议 ?
·必答内容:
HTTP协议就是“超文本传输协议”,规定了客户端与服务器端数据通信的规则。 而HTTP协议,它的底层是基于TCP协议的,而TCP协议呢,是面向连接、安全目无状态的协议。那在现在的Web开发中,基本上所有的请求都是基于HTTP协议 或 HTTPS协议的。可能追问的问题:
1).那HTTP协议与HTTPS协议的区别是什么?
F那HTTP协议与HTTPS协议最大的区别,当然是数据传输的安全性了。HTTP协议的信息是以明文传输,如果敏感信息被载取了,是可以直接获取传递的信息的。 相对之下,HTTPS协议是基于SSL加密传输的信息,可以确保数据的安全传输。
还有呢,就是端口不同。 HTTP协议默认端口 80,而HTTPS协议默认的端口 443.
所以说,HTTP协议的安全性没有HTTPS高,但是HTTPS协议会比HTTP耗费更多的服务器资源。
HTTP协议中请求方式GET与POST什么区别?
·必答内容:
那两种请求方式,使我们进行项目开发,最为常见的两种请求方式。两者的区别主要有以下几点:。传递参数的大小限制不同。GET请求参数在URL中传递,所以参数的大小会收到URL长度的限制。而POST请求,是在请求体中传递参数,只受到服务器端的配置限制。
安全性不同。 GET请求的参数暴露在URL中,安全性较低,不适合传递敏感信息。而POST请求参数在HTTP消息体中传递,安全性相对较高。
应用场景不同。 GET请求一般用于获取数据,而POST请求则用于提交数据
进阶回答:
那在项目开发中,现在的ur风格,基本都是restful风格。所以呢,项目开发中,请求方式除了GET、POST之外还有像PUT、POST也是非常常用的。
可能会继续追问的问题:
你刚才提到Restful,什么是Restful,谈谈你的理解?
Restful其实就是一种软件架构风格,那既然是一种风格,就说明是可以被打破的,项目开发可以不按这套风格来。 但是我之前接触的项目,都是Restful风格的。按照我的理解,Restful风格的两大特点:
通过请求ur地址,来定位要操作的资源。(如:http://localhost:8080/users/1,通过这个url,我就知道对1号用户资源进行操作)
通过请求方式,来决定对资源进行什么样的操作。比如,GET方式,就是用来查询的:POST方式,就是用来新增的:PUT方式,就是用来修改数据的;而DELETE方式就是用来删除数据的。

相关文章
|
1天前
|
缓存 负载均衡 安全
第十章 常用组件1、nginx相关
正向代理是客户端通过代理访问外部服务器,隐藏客户端身份,用于访问受限资源或保护隐私;反向代理则是服务器前的代理,接收客户端请求并转发至内部服务器,隐藏真实服务器,实现负载均衡、安全防护与缓存加速,提升系统性能与安全性。
|
1天前
|
安全 Java 数据库连接
第五章 spring框架
Spring的IOC(控制反转)将对象创建交给容器管理,避免手动new;DI(依赖注入)则让容器自动注入所需对象。通过@Controller、@Service等注解声明Bean,使用@Autowired或@Resource实现注入。默认单例Bean无并发控制,若无状态则线程安全,否则需自行保证。
|
1天前
|
SQL 监控 关系型数据库
4、SQL性能分析及优化
通过SkyWalking链路追踪可定位慢接口及慢SQL,或开启MySQL慢查询日志(如设置超1秒记录)来识别执行慢的SQL。结合explain分析执行计划,关注key、type、extra等关键指标,判断索引命中与性能瓶颈,避免全表扫描,优化SQL性能。(238字)
|
1天前
|
缓存 Java
5.7 线程池的核心参数
线程池七大参数:核心线程数(常驻)、最大线程数(救急上限)、非核心线程存活时间、工作队列(缓存任务)、线程工厂(定制线程)、拒绝策略(队列满时处理方式,含报错、推脱、弃老、直接丢弃)。
|
1天前
|
NoSQL Java 数据库连接
第七章 SpringBoot框架
SpringBoot是简化Spring开发的框架,核心功能包括:starter起步依赖简化配置、自动配置实现Bean自动化管理、内嵌Web服务器支持jar包直接运行。常用starter如web、aop、redis等,分为官方与第三方两类,极大提升了开发效率。(238字)
|
1天前
|
Java Spring 容器
Spring Boot配置的优先级?
SpringBoot项目支持多种配置方式,主要包括配置文件(application.properties、.yml、.yaml)和外部配置(如系统属性、命令行参数)。优先级由高到低为:命令行参数 > 系统属性 > .properties > .yml > .yaml。自动配置核心是@SpringBootApplication中的@EnableAutoConfiguration,通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类,并结合@Conditional条件注解按需注入Bean。
|
1天前
|
Java Spring 容器
Spring Bean的作用域如何设置,常见的取值有哪些?
Spring Bean作用域可通过@Scope注解设置,常见有singleton(默认,单例)、prototype(每次创建新实例)、request(每请求一个实例)、session(每会话一个实例)。singleton在容器启动时初始化,可加@Lazy延迟;prototype则每次使用时创建。多数场景使用默认单例模式。
|
1天前
|
JSON 前端开发 Java
SpringMVC的拦截器用过没有?
拦截器常用于登录校验、参数处理、数据脱敏等,通过实现`HandlerInterceptor`接口,并在配置类中注册,限定拦截路径。与过滤器相比,拦截器基于Spring容器,仅拦截Controller请求,而过滤器作用于所有Web资源。异常处理可使用`@RestControllerAdvice`和`@ExceptionHandler`实现全局捕获。常用注解包括`@RequestMapping`、`@RequestBody`、`@RequestParam`、`@PathVariable`、`@ResponseBody`等,简化开发。
|
1天前
|
Java 数据库 数据安全/隐私保护
什么是AOP?
AOP(面向切面编程)是Spring框架的重要特性,用于将日志、事务、权限等公共逻辑抽离,实现模块复用、降低耦合。项目中常用AOP记录操作日志和权限控制,通过自定义@Log注解结合环绕通知,捕获方法执行信息并存入数据库,便于追踪核心业务操作。其底层基于动态代理实现。
|
1天前
|
缓存 Java Spring
聊-聊Spring中bean的循环依赖问题?
Spring通过三级缓存解决循环依赖:一级缓存存放完整单例Bean,二级缓存存放早期半成品Bean,三级缓存存放对象工厂用于创建代理等对象。A依赖B、B依赖A时,先创建A并放入三级缓存,实例化B时通过三级缓存获取A的工厂生成早期引用并放入二级缓存,B完成初始化后注入A,再将B注入A,最终双方都成功创建并放入一级缓存,流程结束清除二级缓存临时对象。