HTTP
컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 또는 약속이다.
HyperText
HTML의 HyperText와 의미가 동일하다.
HTML은 웹페이지를 만들기 위해서 웹브라우저 위에서 동작하는 언어이다.
Transfer
전송하다라는 의미를 가진다.
보내느 주체와 받은 주체가 있따는 큰 특징있다.
Proctocol
협약, 통신 규약 이라는 의미를 가진다.
물리적으로 떨어진 컴퓨터 끼리 어떻게 HTML파일(HyperText)을 주고 받을지에 대한 약속이다.
HTTP의 두가지 특징
1.Request/Response(요청/응답)
소통의 핵심은 요청과 응답
Request 메세지 구조
요청과 응답 모두 메시지의 형식이다.
Response 메세지 구조
-
Status Line : 응답의 첫번째 줄 -상태를 나타낸다.
- HTTP version : HTTP 버젼
- Status Code : 응답 상태 코드
- Status Text : 응답의 상태를 간략히 설명하는 텍스트
-
Headers : 응답의 메타데이터를 담고 있는 부분
-
Body : 응답해줄 데이터가 담겨있다.(요청 메소드에 따라 존재하지 않을 수 도잇다.
2. Stateless
- HTTP 개별 통신은 모두 독립이어서, 과거의 HTTP 통신의 결과를 보존하지 않는다.
- state(상태) + less(없음)
매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다.
HTTP Request Methods
GET
- 데이터를 받아고민 할때 사용한다.
- 웹페이지에 접속해서 필요한 데이터를 불러올 때 사용한다.
POST
- 데이터를 생성/ 수정할 때 사용한다.
- Body에 담는 내용이 핵심!이다.
DELETE
- 세버에 저장된 특정 데이터를 삭제할 때 사용한다.
대표적인 response status code의 종류
200: OK
- 가장 자주 보게되는 Status Code
- 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드
- 우리는 모두 200 OK 를 원한다
201: Created
- 무언가가 잘 생성되었을 때에(Successfully Created) 오는 Status Code
- 대게 POST 메소드의 요청에 따라 백엔드 서버에 데이터가 잘 생성 또는 수정 되었을 때에 보내는 코드
400: Bad Request
- 해당 요청이 잘못되었을 때 보내는 Status Code
- 주로 요청의 Body에 보내는 내용이 잘못되었을 때 사용되는 코드
ex) 전화번호를 보내야 하는데 숫자가 아닌 문자열의 주소가 대신 Body에 담겼을 경우
401: Unauthorized
- 유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미
ex) wish list, 좋아요 기능은 회원이 아니면 요청을 보낼 수 없음
403: Forbidden
- 유저가 해당 요청에 대한 권한이 없다는 뜻
- 접근 불가능한 정보에 접근했을 경우
ex) 오직 유료회원만 접근할 수 있는 데이터를 요청 했을 때
404: Not Found
500: Internal Server Error
- 서버에서 에러가 났을 때의 Status Code