강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

이준호님의 프로필 이미지
이준호

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

Next.js 역할 소개

브라우저와 백엔드 서버 간 데이터 요청?

해결된 질문

작성

·

241

0

"SPA 개발에서는 브라우저가 백엔드 서버로 데이터를 요청한다"고 말씀을 해주셨는데, 이 부분이 잘 이해가 되지 않습니다. 

저는 프론트 서버인 리엑트 서버에서 fetch나 axios로 백엔드에 데이터를 받아오고 데이터와 함께 브라우저에 보내주는 것으로 알고 있는데요. 

그렇다면 프론트서버와 백엔드 서버 간의 데이터 요청/응답이 이뤄진 것이 아닌가요? 

브라우저에서 데이터를 요청한다는 말의 의미에 대한 설명을 듣고 싶습니다. 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

spa 개발에서는 첫 로딩 시(ssr)에만 프론트서버가 사용되고 그 뒤로부터는 브라우저랑 백엔드서버가 직접 요청을 주고받습니다.

제가 강좌에서 그림판으로 그려드렸을 텐데요?

이준호님의 프로필 이미지
이준호
질문자

빠른 답변 감사드립니다. 

예를 들어, 프론트서버의 Main.js라는 파일에 다음과 같은 코드가 있다고 하면 

  const fetchPostList = async (pageNum, order, categoryNum, limitNum) => {
    const temp = await getPostList(pageNum, order, categoryNum, limitNum);
    setList(temp);
  };

이건 브라우저와 백엔드 서버에서 요청과 응답을 하는 것이 아니라 프론트 서버와 백엔드 서버 간의 통신이라고 봐야 하지 않나요? 

왜냐면 이건 프론트 서버에서 작성한 코드이고 백엔드로 요청하는 것이니까요. 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

이 코드가 getServerSideProps 안에 들어있는 게 아니라면 브라우저에서 백엔드 서버로 요청을 보내는 겁니다. 프론트서버가 main.js를 브라우저로 보내주고 난 다음에는 프론트서버의 역할은 없습니다.

이준호님의 프로필 이미지
이준호
질문자

제가 SPA에 대해서 자세히 알지 못해서 추가로 질문 드립니다.

브라우저에서 직접 코드를 실행할 수 있나요? 조금 더 추가로 설명해주실 수 있을까요?

---- 

감사합니다, 해결됐습니다. 

이준호님의 프로필 이미지
이준호

작성한 질문수

질문하기