220207_스프링입문_웹 개발 개론_HTTP Portocol_패스트캠퍼스 챌린지 15일차
<2022년 02월 07일 _ 패스트캠퍼스 챌린지 15일차>
[스프링입문_웹 개발 개론_HTTP Portocol]
1. HTTP (Hyper Text Transfer Protocol)
(1) RFC2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜
(2) 이름은 하이퍼텍스트 전송용 프로토콜이지만 다양한 컴퓨터에서 다룰 수 있는 것은 모두 전송 가능
ex) HTML, XML, JSON, Image, Voice, Video, Javascript, PDF 등
(3) HTTP는 TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web기반의 프로토콜
(4) HTTP는 메시지를 주고(Request) 받는(Response) 형태의 통신 방법
ex)
Client | Server | |
요청 메시지 작성 | 요청대기 | |
요청 메시지 전송 | ↗ | 요청 메시지 수신 |
응답 대기 | 요청 메시지 해석 | |
응답 메시지 수신 | 애플리케이션 할당 | |
응답 메시지 해석 | ↖ | 애플리케이션 결과 생성 |
데이터 표시 및 처리 | 응답 메시지 송신 |
2. HTTP의 요청을 특정하는 8가지 Method
: REST를 구현하기 위한 인터페이스
의미 | CRUD | 멱등성 | 안정성 | Path Variable | Query Parameter |
DataBody | |
GET | 리소스 취득 | R | O | O | O | O | X |
POST | 리소스 생성,추가 | C | X | X | O | △ | O |
PUT | 리소스 갱신, 생성 | C / U | O | X | O | △ | O |
DELETE | 리소스 삭제 | D | O | X | O | O | X |
HEAD | 헤더 데이터 취득 | - | O | O | - | - | - |
OPTIONS | 지원하는 메소드 취득 | - | O | - | - | - | - |
TRACE | 요청메시지 반환 | - | O | - | - | - | - |
CONNECT | 프록시 동작의 터널 접속으로 변경 | - | X | - | - | - | - |
3. HTTP Status Code
(1)응답의 상태를 나타내는 코드
의미 | 내용 | |
1XX | 처리중 | 처리가 계속 되고 있는 상태. 클라이언트는 요청을 계속 하거나 서버의 지시에 따라서 재요청 |
2XX | 성공 | 요청의 성공 |
3XX | 리다이렉트 | 다른 리소스로 리다이렉트. 해당 코드를 받았을 때는 Response의 새로운 주소로 다시 요청 |
4XX | 클라이언트 에러 | 클라이언트의 요청에 에러가 있는 상태. 재전송 하여도 에러가 해결되지 않는다 |
5XX | 서버 에러 | 서버 처리중 에러가 발생한 상태. 재전송시 에러가 해결 되었을 수도 있다 |
(2) 자주 사용되는 코드
200 | 성공 |
201 | 성공. 리소스를 생성 성공 |
301 | 리다이렉트, 리소스가 다른 장소로 변경됨을 알림 |
303 | 리다이렉트, Client에서 자동으로 새로운 리소스로 요청 처리 |
400 | 요청 오류, 파라미터 에러 |
401 | 권한 없음(인증실패) |
404 | 리소스 없음(페이지를 찾을 수 없음) |
500 | 서버 내부 에러(서버 동작 처리 에러) |
503 | 서비스 정지(점검 등등) |
15일차 강의 완료~
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'개발새발 > Spring' 카테고리의 다른 글
220209_스프링입문_스프링 부트 시작하기_Hello World API를 만들어보자_패스트캠퍼스 챌린지 17일차 (0) | 2022.02.09 |
---|---|
220208_스프링입문_스프링 부트 시작하기_스프링 부트란_패스트캠퍼스 챌린지 16일차 (0) | 2022.02.08 |
220206_스프링입문_웹 개발 개론_URI 설계 패턴_패스트캠퍼스 챌린지 14일차 (0) | 2022.02.06 |
220205_스프링입문_웹 개발 개론_REST API_패스트캠퍼스 챌린지 13일차 (0) | 2022.02.05 |
220204_스프링입문_웹 개발 개론_웹 개발이란_패스트캠퍼스 챌린지 12일차 (0) | 2022.02.04 |