SAN FRANCISCO -- Jim Harbaugh said he did not need the reassurance of seeing what he saw Thursday night from his backup quarterback.But the fact Colin Kaepernick looked in complete control in the 49ers' 35-3 victory over the San Diego Chargers carried a little more weight than a typical exhibition finale."Knowing was against their starters makes you feel a little better about it," Kaepernick said.The 49ers scored touchdowns on the Chargers' starters on the first two possessions of the game, including Kaepernick's 32-yard scoring pass to tight end Delanie Walker.Kaepernick demonstrated his tremendous arm strength when he rolled left and hit Walker along the left sideline. Walker broke a tackle attempt from strong safety Atari Bigby to get into the end zone.In the second quarter, Kaepernick hit A.J. Jenkins on a 12-yard touchdown pass after buying time with a roll to his right.Kaepernick completed 12 of 18 passes for 158 yards and two touchdowns. His passer rating was 131.2."Tonight, I felt like I went out and just played," Kaepernick said. "This preseason I felt more and more like that. Tonight was the first time I really got to go out and cut it loose and see what plays I could make."Quarterback Alex Smith took the first five snaps of the game -- all handoffs -- before handing off to Kaepernick. Smith is firmly entrenched as the starter, and Kaepernick showed there's reason to have confidence in his ability as the undisputed backup."That's not a new feeling," Harbaugh said. "It's something we've been comfortable with now for months, the course of this whole offseason. All of our quarterbacks. We feel like all four can play in this league for a long time."Josh Johnson, in a battle with Scott Tolzien for the No. 3 job, enjoyed his best performance of the exhibition season. He completed 9 of 14 passes for 125 yards and two touchdowns for a passer rating of 132.4.Undrafted rookies Nathan Palmer and Garrett Celek scored on Johnson's touchdown passes of 51 and 3 yards. Palmer took a quick hitch and outran the Chargers' defense for his third-quarter touchdown.Meanwhile, Tolzien completed just 3 of 8 attempts for 42 yards and an interception.When asked if it's possible the 49ers could keep all four quarterbacks on their 53-man roster to open the season, Harbaugh answered, "Yes, it's an option."General manager Trent Baalke will have to make that call by Friday, 6 p.m., the NFL deadline for teams to trim rosters from 75 players to 53.The 49ers relied on their backups Thursday, and as a result should be near full strength for the regular-season opener Sept. 9 at Green Bay. The 49ers did not play any of their defensive starters. Outside linebacker Aldon Smith, who has not played since sustaining a right hip bruise in the first exhibition game, could have played, Harbaugh said.Running back Frank Gore did not play, and the team held out wide receivers Michael Crabtree, Randy Moss and Kyle Williams, along with Ted Ginn (ankle) and Mario Manningham, who attended his grandfather's funeral.The backups -- offensively and defensively -- stepped up. And Harbaugh said the decisions on the 53-man roster will be even more difficult based on the performance of players up and down the roster on Thursday:--Will Tukuafu started at left defensive tackle. He also played fullback on seven of the 49ers' snaps on their 11-play opening drive. He cleared the way for Anthony Dixon on a 1-yard touchdown run, which Harbaugh called "probably one of the best isolation blocks I've seen at the goal line."--Linebacker Michael Wilhoite saw his first action on offense, as he played several snaps in the second half at fullback. He also had two tackles on defense. "He's physical," Harbaugh said. "He has athleticism to adjust in tight spaces. He's smart, plays low, plays quick. He hasn't has as much training as Will but he's capable of doing that."--Safeties C.J. Spillman, Trenton Robinson and Darcel McBath combined end the Chargers' first two drives of the games with turnovers. San Diego's first-team offense played two possessions. Spillman stripped tight end Antonio Gates of the ball after a 13-yard reception. Robinson scooped up the fumble and returned it 22 yards. McBath entered as an extra defensive back for his first snap of the game and he intercepted a Rivers pass intended for Malcom Floyd.--Jenkins led the 49ers with four receptions for 59 yards, including his 12-yard touchdown pass from Kaepernick. "It's a real good thing to get in a rhythm and just playing ball like I was in college," he said. "I was having a great time."--After the 49ers waived third- and fourth-string centers Chase Beeler and Jason Slowey this week, they started working guard Joe Looney at center. Looney entered the game at left guard, and moved to center in the second half. He had not played center since his sophomore year of high school, he said.--Running back LaMichael James had an up-and-down day. He carried five times for 27 yards and averaged 30.0 yards on two kickoff returns. But he lost his fight to the Candlestick winds while attempting to return punts. He bobbled one punt and muffed two others. He recovered both of his fumbles.