
-프론트앤드<->백앤드 등 서로 통신을 하자고 규정해놓은 "통신규약"이다.
-http통신은 request와 response로 나누어진다.
1.start line : HTTP request의 첫 라인
2.headers :해당 request에 대한 추가정보를 담고 있는 부분
자주 사용되는 header정보
3.body
<request의 예>
start line
POST /payment-sync HTTP/1.1
headers
Accept: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 83
Content-Type: application/json
Host: intropython.com
User-Agent: HTTPie/0.9.3
body
{
"imp_uid": "imp_1234567890",
"merchant_uid": "order_id_8237352",
"status": "paid"
}
크게 3부분으로 나누어짐
1.Status line :Response의 상태를 간략하게 나타냄
2.Headers : Request의 headers와 동일함. 다만 response에서만 사용되는 header값들이 있다. 예를 들어 User-Agent대신에 Server헤더가 사용된다.
3.Body : Request의 body와 동일하다. Request와 마찬가지로 모든 response가 body가 있지는 않다. 데이터를 전송할 필요가 없을경우 body가 비어있게 된다.
<response의 예>
GET
POST
200 OK
문제 없이 잘 실행이 되었을때 보내는 코드
400 Bad Request
해당 요청이 잘못된 요청일 때 보내는 코드
401 Unauthorized
유저가 해당 요청을 진행 하려면 먼저 로그인이나 회원가입 등을 해야한다는 것을 나타내는 코드
403 Forbidden
유저가 해당 요청에 대한 권한이 없다는 뜻
500 Internal Server Error
서버에서 에러가 났을때 사용되는 코드