HTTP
1. HyperText
HTML(HyperText Markup Language)의 HyperText와 그 의미가 동일
2. Transfer
우리가 만든 웹사이트는 다른 사람들과 공유하기 위해서 다른 컴퓨터에게 전송해야 한다. 그리고 전송은 보내는 주체와 받는 주체가 있다는 것이 큰 특징이다.
3. Protocol
프로토콜은 협약, 통신 규약 이라는 의미를 가진다. 물리적으로 떨어진 컴퓨터 끼리 어떻게 HTML파일(HyperText)을 주고 받을지에 대한 약속이다.
따라서 HTTP (HyperText Transfer Protocol)은
컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 또는 약속이다.
Request / Response (요청 / 응답)
Transfer - 전송하다 라는 말처럼 서로 정보를 요청하고 정보를 응답해주는 방식으로 통신이 이루어진다.
여기서 정말 중요한 특징이 stateless라는 특징이다.
각각의 통신(요청/응답)은 독립적이라는 의미이다.
과거의 통신에 대한 상태가 유지되는 것이 아니라 독립적으로 통신이 이루어진다는 규칙이다.
따라서 상태가 유지되어야하는 통신을 위해서 스토리지,쿠키 같은 기능들이 만들어졌다고 한다.
HTTP Request Method
1. GET
- 서버로부터 데이터를 받아오기만 할 때 사용
우리가 웹페이지를 불러올때 사용하는 메소드이다.
2. POST
- 데이터를 생성/수정 할 때 사용
- 데이터를 생성 및 수정 할 때 많이 사용되기 때문에 대부분의 경우 요청에 body가 포함되서 보내진다.
3. DELETE
Response Status Codes
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