- 해당 게시물은 인프런 - "모든 개발자를 위한 HTTP 웹 기본 지식" 강의를 참고하여 작성한 글 입니다.
- 유료강의이므로 자세한 내용은 없고, 간단한 설명 위주로 정리했습니다.
강의 링크 -> 김영한 - 모든 개발자를 위한 HTTP 웹 기본 지식 (유료강의)
HyperText Transfer Protocol
거의 모든 형태의 데이터 전송이 가능하다.
클라이언트
서버에 요청을 보내고, 응답 대기
서버
요청에 대한 결과 만들어서 클라이언트에게 응답
상태유지(Stateful)
- 서버가 클라이언트의 상태 보존
- 항상 같은 서버가 유지되어야 함
무상태(Stateless)
- 서버가 클라이언트의 상태 보존X
- 응답 서버를 쉽게 바꿀수 있음(아무 서버나 호출해도 됨)
- 무상태 설계 선호
서버 연결 유지 -> 서버 자원 소모
비 연결성
- HTTP는 기본이 연결을 유지하지 않음
- 서버 자원을 효율적으로 사용
TCP/IP 연결을 새로 맺어야 하는 문제점을 HTTP 지속 연결(Persistent Connections) 로 해결한다.
start-line 시작라인
- HTTP 메서드 - 서버가 수행해야 할 동작 지정
ex) GET, POST, PUT, DELETE ...- 요청 대상
ex) /search?q=hello&hl=ko- HTTP Version
ex) HTTP/1.1
header 헤더 - HTTP 전송에 필요한 모든 부가정보
- field-name: field-value
ex) Host: www.goole.com
message body - 실제 전송할 데이터
start-line 시작라인
- HTTP 버전
ex) HTTP/1.1- HTTP 상태 코드 - 요청 성공, 실패 나타냄
ex) 200(성공), 400(클라이언트 요청 오류), 500(서버 내부 오류)- 이유 문구
ex) OK
header 헤더 - HTTP 전송에 필요한 모든 부가정보
- field-name: field-value
ex) Content-Type: text/html;charset=UTF-8
message body - 실제 전송할 데이터
회원 정보 관리 API
리소스(회원)와 해당 리소스를 대상으로 하는 행위(조회, 등록, 삭제, 변경) 분리
안전(Safe Methods) - 호출해도 리소스를 변경하지 않음
멱등(Idempotent Methods) - 한 번 호출하든 두 번 호출하든 100번 호출하든 결과가 똑같음
캐시가능(Cacheable Methods) - 응답 결과 리소스를 캐시해서 사용
지금까지 김영한 - 모든 개발자를 위한 HTTP 웹 기본 지식 (유료강의) 강의를 참고하여 HTTP 기본, HTTP 메서드 에 대해 공부하였다.