minlog

HTTP Protocol

HTTP (Hyper Text Transfer Protocol) 로 RFC 2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜

이름에는 하이퍼텍스트 전용 프로토콜로 정의 되어 있지만 실제로 HTML,XML,Image,Video,Javascript 등 다양한 컴퓨터에서 다룰 수 있는 모든 것을 전송 가능하다

TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web기반의 프로토콜이다.

 

 

 

💡 HTTP는 메시지를 (Request) 받는 (Response) 형태의 통신 방법이다.

 

HTTP의 요청을 특정하는 메서드 8가지 

*멱등성 : 몇번을 요청해도 같은 응답이 오는 것.

*안정성 : 서버의 데이터가 변화가 생기는것.

 

메서드 의미 CRUD 멱등성 안정성 Path
Variable
Query
Parameter
DataBody
GET 리소스 취득 R (read) o o o o x
POST 리소스 생성,추가 C (create) x x o o
PUT 리소스 갱신,생성 C / U (update) o x o o
DELETE 리소스 삭제 D o x o o -
HEAD 헤더데이터 취득 - o o - - -
OPTIONS 지원하는 메서드 취득 - o - - - -
TARCE 요청 메시지 반환 - o - - - -
CONNECT 프록시 동작의 터널 접속으로 변경 - x - - - -

 

 

💡 HTTP Status Code

응답의 상태를 나타내는 코드

코드 의미 내용
1XX 처리중 처리가 계속되고 있는 상태. 클라이언트는 요청을 계속 하거나 서버의 지시에 따라서 재요청
2XX 성공 요청 성공
3XX 리다이렉트 다른 리소스로 리다이렉트. 해당 코드를 받았을때는 Response의 새로운 주소로 다시 요청
4XX 클라이언트 에러 클라이언트의 요청에 에러가 있는 상태. 재 전송하여도 에러가 해결되지 않는다.
5XX 서버에러 서버 처리중 에러가 발생한 상태 . 재 전송시 에러가 해결될 수도 있다.

 

자주 사용되는 코드
200 성공
201 성공, 리소스 생성 성공
301 리다이렉트, 리소스가 다른 장소로 변경됨을 알림
303 리다이렉트, Client 에서 자동으로 새로운 리소스로 요청처리
400 요청 오류,파라미터 에러
401 권한 없음(인증 실패)
404 리소스 없음(페이지를 찾을 수 없음)
500 서버 내부 에러 (서버 동작 처리 에러)
503 서비스 정지 (점검 등등)

 

 

 

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!