GET 요청으로도 서버로 데이터 전송가능
POST 요청으로 데이터 전송할 때 <form> 을 쓰거나 fetch() 안에 body 에 넣어서 데이터를 전송할 수 있고, 서버에선 요청.body 라고 쓰면 수신된 데이터 출력이 가능합니다.
그런데 GET 요청으로도 데이터를 서버로 보내는 방법이 있습니다. URL 에 데이터를 몰래 담아서 보내는 겁니다. 그럼 서버에서 URL 에 담긴 데이터를 출력해서 사용할 수 있습니다.
그래서 간단하게 문자 한 두개 보내거나 그런 경우엔 POST 요청보다는 GET요청을 사용하는 경우가 많습니다. 다만, URL 에 정보가 노출되기 때문에 민감하거나 길이가 긴 데이터는 POST요청으로 전송하는 것이 좋습니다.
방법이 두 가지가 있는데, query string / URL parameter 가 있습니다.
query string
URL 작성할 때, 뒤에 물음표를 붙이고, 데이터이름=값 이렇게 작성하면, 서버로 데이터를 전송할 수 있습니다.
/어쩌구?a=1&b=2&c=3
이렇게 URL 을 작성하면, 서버로 { a: 1, b: 2, c: 3 } 이라는 데이터가 전송됩니다.
물음표 뒤에 오는 것들을 query string 이라고 부릅니다.
URL parameter
전에 여러페이지를 만들고 싶다면, URL parameter 를 만들면 된다고 했는데, 서버에서도 URL parameter 를 넣어두면 여러개의 서버 API 를 한 번에 만들 수 있습니다.
서버 URL 을 만들 때 파일명에 [ ]를 붙이면 '아무문자' 라는 뜻입니다. 그럼 이제 누가 /api/abc/아무문자 경로로 GET, POST 요청 등을 하는 경우 [id].js 안의 코드가 실행됩니다.
그리고 서버에선 요청.query 를 사용하면, URL parameter 자리에 집어넣은 문자를 마음대로 출력할 수 있습니다. 그래서URL parameter 를 만들어둬도 유저가 URL 에 숨겨놓은 데이터를 출력해줄 수 있지 않을까요.
'Next.js > 코딩애플' 카테고리의 다른 글
static rendering, dynamic rendering, cache (0) | 2023.09.18 |
---|---|
글 삭제 기능 (0) | 2023.09.17 |
Next.js 서버 기능은 (0) | 2023.09.17 |
useRouter (0) | 2023.09.17 |
상세페이지 만들기 1 (Dynamic route) (0) | 2023.09.17 |