통신규약으로서의 HTTP를 학습해보자.
HTTP란 무엇인지 비유를 통해 작성해봤다.
HTTP = 배달 서비스 ㅇㅈ?
HTTP는 뭔가 서버와 클라이언트 사이의 배*의 민족 같은 느낌이다. HTTP는 인터넷에서 데이터를 주고받는 “규칙” 또는 “프로토콜”인데 이를 쉽게 비유하자면, HTTP는 우리가 쇼핑몰 사이트를 이용할 때 물건을 주문하고 배송받는 과정과 비슷하다. 웹사이트에 접속하면, 웹사이트 서버에게 어떤 데이터를 요청하고, 서버는 그 데이터를 배달해주는 거로 이해했다.
- 클라이언트 (나): 웹사이트를 보고 싶은 사용자
- 서버 (가게): 사용자가 원하는 정보를 제공하는 곳
- HTTP (배달 규칙): 주문과 배달을 규칙에 맞게 처리하는 방법
HTTP 상태코드
웹사이트를 요청할 때 서버는 요청이 어떻게 처리되었는지 알려준다. 이를 상태 코드
라고 한다. 상태 코드는 1xx~5xx 으로 구성되어 있는데, 아래와 같다.
- 1xx : 정보
-
100 (Continue)
: 요청의 일부를 서버가 받음, 나머지를 꼐속 보내라는 의미 (배달 요청 들어옴 ㅋㅋ)
-
- 2xx : 성공
-
200 (OK)
: 요청이 성공적으로 처리됨 -
201 (Created)
: 요청성공 및 새로운 자원 생성
-
- 3xx : 리다이렉션
-
301 (Moved Permanently)
: 요청한 리소스가 영구적으로 새로운 URL로 이동되었음을 나타냄 -
302 (Found)
: 요청한 리소스가 임시로 다른 URL로 이동했음을 나타냄
-
- 4xx: 클라이언트 오류
-
400 (Bad Request)
: 잘못된 요청임을 나타냄 -
401 (Unauthorized)
: 인증이 필요함을 나타냄 -
404 (Not Found)
: 요청한 리소스를 찾을 수 없음을 나타내요.
-
- 5xx: 서버 오류
-
500 (Internal Server Error)
: 서버가 요청을 처리하는 동안 오류가 발생했음을 나타내요. -
502 (Bad Gateway)
: 서버가 게이트웨이 또는 프록시 역할을 하는 서버로부터 유효하지 않은 응답을 받았음을 나타내요.
-
HTTP 메서드
-
GET
: “이 정보 좀 보여줘~” (데이터 가져오기) -
POST
: “이걸 새로 추가해줘~” (새 데이터 추가) -
PUT
: “이 정보를 업데이트해줘~” (기존 데이터 수정) -
DELETE
: “이 정보를 삭제해줘~” (데이터 삭제)
마무리
강의에서 사람들이 말하는 것 중 400번대는 내 잘못
500번대는 니 잘못
이 정말 웃겼었다. 요즘 공부하는게 지칠때도 많아서 뭔가에 비유해서 이해하려고 노력하는데, 좋은 것 같다.