08:00 ~ 09:00 헬스장
10:00 위코드 도착
HTTP란 HyperText Transfer Protocol의 약자이다
HTTP 통신의 핵심은 요청과 응답이다.
간단히 생각하면 내가 페이스북의 동영상을 시청할 때 그 링크를 타고 들어가는 순간 내 랩탑은 페이스북의 서버에게 '영상을 주세요'라고 요청, 페이스북의 서버는 내 요청을 응답하는 것이다.
각각의 HTTP 통신은 독립적이기 때문에 과거의 통신 내용을 전혀 알지 못함. 그래서 매 통신마다 필요한 모든 정보를 담아서 요청을 보내야함.
HTTP 요청은 사실 프론트엔드에서 백엔드에 일을 시작하게 하기 위해 보내는 메시지. 크게 세 부분으로 구 성
GET /login HTTP/1.1 해석 : GET 메소드로 login 이라는 요청 타켓에 HTTP 1.1 버전으로 요청을 보내겠다!
자주 사용되는 Headers의 정보는 아래와 같다.
Headers: {
Host : 요청을 보내는 목표, 요청을 보내는 웹사이트의 주소 (ex. www.google.com)
User-Agent : 요청을 보내는 클라이언트의 대한 정보 (ex. chrome, safari)
Content-Type : 해당 요청이 보내는 메시지 body의 타입 (ex. application/json)
Content-Length : body 내용의 길이
Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토큰을 Authorization에 담는다.
}
ex) 로그인 시에 서버에 보낼 요청의 내용
Body : {
"user_email": "tkddus614@gmail.com"
"user_password": "password!"
}
응답도 요청과 마찬가지로 메시지이며 크게 세 부분으로 구성
Headers : 요청의 헤더와 동일. 다만 응답에서만 사용되는 헤더의 정보들이 있다.
Body : 요청의 바디와 동일. 가장 많이 사용되는 Body의 데이터 타입은 JSON이다.
ex) 로그인 요청에 성공했을 시
Body: {
"message": "SUCCESS"
"token": "kjakjgfklja@jkhasdkjfla" (암호화된 유저의 정보)
}
실제 프로젝트를 진행할 때 가장 많이 보게 될 상태 코드들.
블로깅을 하면서 한 번 더 정리해보았지만 아직은 실제로 쓰지 않아서 감이 잘 잡히지 않지만 어느 정도의 개념은 잡아둔 상태이다. 나중에 프로젝트를 진행하면서 한 번 더 정리해보겠다.