Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 서브넷 #안에 #ec2 인스턴스 #ami #생성 #firewall
- storage #로컬스토리지 #세션스토리지 #백그라운드 서비스
- 쓰레드 #쓰레드풀 #프로세스
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #igw #curl #명령어 #http
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #s3 #bucket #생성 #이미지업로드
- mysql #linux #설정 #wordpress #웹사이트 #db 연결 #
- ipv4 #private #public #instance #curl #연결성 검증 #session manager
- samba #가상머신 #daemon
- aws #아키텍트 #과정 #vpc #인프라 구축 #private #resource #security #group
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #internet gateway #연결
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #클라우드 #퍼블릭 클라우드 #아키텍트 #과정
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #private subnet
- haproxy #wordpree #php #linux #가상화 #가상머신 #내용정리
- aws #아키텍트 #과정 #vpc #인프라 구축 #private subnet #ec2 #인스턴스 #elastic compute #vm
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #웹페이지 #http #public #instance
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 #프라이빗 #서브넷 #igw #route53 #routing table #ec2 #security group #firewall
- aws #아키텍트 #과정 #vpc #인프라 구축 #vpc #nat #gateway #private subnet
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- 비트 #바이트 #이진수
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 #보안그룹 #생성 #http #ipv4
- aws #아키텍트 #과정 #vpc #인프라 구축 #session manager #curl #명령어 #private #instance
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #route53 #igw #연결
Archives
- Today
- Total
요리사에서 IT개발자로
(스파르타 코딩클럽) HTTP 메서드란 본문
클라이언트와 서버사이에 이뤄지는 요청와 응답 데이터를 전송하는 방식.
종류는 주로 GET, POST, PUT, PATCH, DELETE를 사용한다.
메서드 이름
설 명
GET
리스소 조회
POST
등록, 요청 데이터 처리
PUT
리소스 덮어쓰기 (해당 리소스가 없으면 생성)
PATCH
리소스 부분 분경 (PUT은 전체 변경이지만, PATCH는 일부만 변경)
DELETE
리소스 삭제
HEAD
GET과 동일하나 메시지 부분(Body)를 제외하고, 상태 줄과 헤더만 반환
OPTIONS
대상 리소스에 대한 통신 가능 옵션(메서드)을 설명 (주로 CORS에서 사용)
CONNECT
대상 자원으로 식별되는 서버에 대한 터널을 설정
TRACE
대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
GET메서드는
리소스를 조회하는 메서드로 서버에 전달하고 싶은 데이터는 Query(쿼리 파라미터, 쿼리 스트링)을 통해서 전달한다.
메시지 바디를 통해 서버로 요청데이터를 전달하고 서버는 바디를 통해 들어온 데이터를 처리하여 응답합니다.
주로 신규 리소스를 등록하고, 프로세스 처리에 사용한다.
GET 메서드를 사용할 때 JSON으로 조회 데이터를 넘겨야 하는 경우 POST를 사용한다.
PUT 메서드
리소스가 있다면 요청을 보낸 데이터로 완전히 덮어씌우고, 리소스가 없다면 새로 생성합니다.
POST와의 차이점으로 클라이언트가 리소스의 위치를 알고 URI를 지정한다.
위 그림에서 POST 요청시 /users까지 지정을 했지만, PUT은 /users/10으로 리소스의 위치까지 지정해서 요청한다.
PUT 사용할 때 기존 리소스를 완전히 대체하기에
위 처럼 country필드만을 변경하려고 요청을 보내면
기존 데이터를 날리고 요청한 데이터를 새로 덮어쓰기에 name필드가 제거가 된채로 요청받은 country필드만 존재하게 된다.
PATHC메서드는
PUT과 다르게 PATCH는 리소스의 부분을 변경한다.
PATCH를 지원하지 않는 서버가 있을 수도 있을 때는 POST를 사용한다.
DELETE 메서드
요청받은 리소스를 제거한다.
HTTP메서드의 속성
HTTP메서드는 다음과 같이 3가지 속성이 있으면서 속성별로 메서드를 구분할 수 있다.
SAFE(안전)
Idempotent(멱등)
Cacheable(캐시 가능)
Safe(안전)
- Safe한 메서드는 "호출해도 리소스를 변경하지 않는다"는 특징을 갖는다.
- GET, HEAD, OPTIONS, TRACE 메서드는 호출하더라도 리소스를 변경하지 않기에 안전한 리소스가 된다.
Idempotent(멱등)
멱등이란 연산을 여러번 적용하더라도 결과값이 달라지지 않는 것,
- GET : 한 번 조회하든, 여러번 조회하든 같은 결과가 조회
- PUT : 결과를 대체하므로 같은 요청을 여러번 해도 최종 결과는 똑같다.
- DELETE : 결과를 삭제, 같은 요청을 여러번 해도 삭제된 결과는 똑같다.
- 외부 요인으로 중간에 리소스가 변경되는 것까지는 고려하지않는다.
Cacheable(캐시 가능)
응답 결과를 서버에 캐싱해서 사용해도 되는 메소드
- GET, HEAD, POST, PATCH 가 캐시 가능하지만, POST, PATCH는 본문 내용까지 캐시 키로 고려해야 하기에 구현은 어렵다.
- 실제로는 GET, HEAD 정도만 캐시하여 사용한다.
반응형
'TIL' 카테고리의 다른 글
(스파르타 코딩클럽)브라우저의 작동방식 (4) | 2024.07.23 |
---|---|
(스파르타 코딩클럽) CORS란 (0) | 2024.07.23 |
(스파르타 코딩클럽) RDBMS 정규화 (0) | 2024.07.19 |
(스파르타 코딩클럽) mvc 패턴이란 (0) | 2024.07.19 |
(스파르타 코딩클럽) NoSQL과 RDBMS의 특징과 차이점 (0) | 2024.07.18 |