1. 웹 브라우저와 서버의 상호작용
1) 웹 브라우저가 서버와 상호작용하는 방법
○ URL을 통한 접속
- 사용자는 주로 웹 브라우저에서 직접 URL을 입력하여 웹 페이지를 방문하거나 a 태그가 걸려 있는 링크를 통해 접근
- URL을 통한 접속 요청은 GET
○ form 태그를 사용하여 form 제출
- form 태그는 'GET'과 'POST'라는 방식을 모두 사용할 수 있으며, 주로 'POST'를 사용
○ XHR을 사용한 AJAX 요청
- 특정 유튜브 채널의 동영상 첫 목록에는 해당 채널의 영상 중 일부가 표시
- 이 상태에서 스크롤을 아래로 내리면 로딩이 되면서 다음 동영상들이 목록에 추가
- 화면을 새로고침하지 않으면서 서버에 다음 동영상 목록에 대한 정보를 요청하고 받아 오게 되는데, 이것을 바로 'XHR을 사용한 AJAX 요청'으로 구현 가능
○ 웹 소켓을 통한 연결
- 웹 소켓은 서버와 클라이언트 간의 통신을 양방향으로 가능하도록 지원
- 서버에서 먼저 데이터를 전송할 수 있는 수단은 웹 소켓 이외에도 SSE(Sever Sent Events)라느 방법도 있음
2. form 태크로 서버와 상호작용하는 방법
1) form 태그로 요청하고 받아보기
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="./article" method="post">
<input type="text" name="title">
<input type="text" name="content">
<input type="submit">
</form>
</body>
</html>
- form 태그는 눈에 보이지 않지만 form 내부에 포함된 input 태그의 입력값들을 웹 서버로 전송

- 컨트롤러에 './article' 요청을 처리할 수 있는 @RequestMapping
SimpleRestController.java 컨트롤러 추가
package kr.co.hanbit;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SimpleRestController {
@RequestMapping("/article")
public String createArticle() {
return "SOME MESSAGE";
}
}
- 입력란에 '제목은 title', '내용은 content'를 넣은 후 [제출] 버튼을 클릭해 form 전송

- './article' 경로에선느 아직 title과 content를 처리할 수 있는 준비가 되지 않음
- 단순히 'SOME MESSAGE'를 반환하도록 코드를 작성했기 때문에 자바 코드상에서 title과 content를 받을 수 있도록 변경
@RestController
public class SimpleRestController {
@RequestMapping("/article")
public String createArticle(@RequestParam("title") String title,
@RequestParam("content") String content) {
return String.format("title=%s / content=%s", title, content);
}
}

'SpringBoot > 백엔드' 카테고리의 다른 글
| [이것이 백엔드 개발이다] ch 5. API 호출 클라이언트 페이지 만들기 (0) | 2026.05.23 |
|---|---|
| [이것이 백엔드 개발이다] ch 4. 서버와 클라이언트 (0) | 2026.05.10 |
| [이것이 백엔드 개발이다] ch 3. 실무에 가장 많이 쓰이는 자바 문법 (0) | 2026.05.05 |