async function fetchData() {
try {
const response = await fetch('https://api.example.com/data', {
method: 'POST', // POST 메소드 사용
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '홍길동',
age: 30
})
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
console.log(data);
} catch (error) {
console.error('There has been a problem with your fetch operation:', error);
}
}
fetchData();
HTTP 메소드는 클라이언트가 웹 서버에게 어떤 종류의 동작을 원하는지를 나타내는 방법이다.
각 메소드는 특정한 종류의 작업을 수행하도록 설계되었다.
서버에게 정보를 요청
쿼리 파라미터를 통해 정보 필터링 가능
캐싱이 가능하며, 안전한 메소드
예시) 웹 페이지 조회, 이미지 다운로드
💡캐싱(Caching)
자주 사용되는 데이터를 미리 저장해두었다가, 다시 필요할 때 빠르게 가져다 쓰는 기술
서버에 새로운 데이터를 제출
데이터는 요청 본문(request body)에 포함된다
캐싱이 불가능하며, 안전하지 않은 메소드(상태를 변경하기 때문)
예시) 회원 가입, 게시글 작성, 파일 업로드
특정 URL에 대응하는 리소스 전체 내용을 갱신(Update)하는데 사용
요청 본문에 새로운 데이터를 표함하여 기존 정보를 완전히 대체한다
캐싱이 불가능, 안전하지 않은 메소드
예시) 문서 수정
특정 리소스를 삭제한다
캐싱이 불가능, 안전하지 않은 메소드
예시) 게시글 삭제
특정 리소스의 일부를 수정
PUT메소드는 리소스 전체를, PATCH메소드는 리소스 부분적으로 수정
캐싱이 불가능, 안전하지 않은 메소드
예시) 프로필 사진 변경
HTTP 메소드는 웹 개발에서 중요한 개념이다.
서버에게 원하는 리소스를 요청, 추가, 수정, 삭제 등을 할 수 있기에
메소드들의 특징과 용도를 이해하고 적절히 사용하도록 하자.