👉 HTTP 프로토콜 이란?
- HTTP(Hypertext Transfer Protocol), 브라우저와 서버 간 데이터를 주고 받기 위한 방식
- 여기서 Hypertext 에는 JSON, MP3, MP4, HTML 과 같은 파일이다.
- 클라이언트와 서버간 Request, Response로 이루어짐
ex) 클라이언트가 특정한 데이터를 Request 했을 때 그 데이터를 클라이언트가 원하는 형태의 데이터로 Response 해준다.
👉 HTTPS
- HTTP(Hypertext Transfer Protocol) 에 Secure 가 추가된 형태
- TLS(Transport Layer Security), SSL(Secure sockets Layer)와 같은 보안관계가 형성된 클라이언트와 서버간 그 데이터를 해독하여 정보를 주고 받을 수 있음
👉 URL
- URL(Uniform Resource Locators)
- 서버에 자원을 요청하기 위한 영문 주소
HTTP 요청 메서드
- GET : 존재하는 자원에 대한 요청
- POST : 새로운 자원을 생성
- PUT : 존재하는 자원에 대한 변경
- DELETE : 존재하는 자원에 대한 삭제
(기타 메서드)
- HEAD : 서버 헤더 정보를 획득. GET과 비슷하나 Response Body를 반환하지 않음
- OPTIONS : 서버 옵션들을 확인하기 위한 요청. CORS에서 사용
상태 코드
- 상태코드란 클라이언트가 자원을 요청했을 때 서버의 처리 상태(코드)를 요청한 자원과 함께 보내줄 수 있음
- 즉, 상태 코드만 보고도 요청, 응답 처리 상황을 파악할 수 있음
2xx - 성공
200번대의 상태 코드는 대부분 성공을 의미
- 200 : GET 요청에 대한 성공
- 204 : No Content. 성공했으나 응답 본문에 데이터가 없음
- 205 : Reset Content. 성공했으나 클라이언트의 화면을 새로 고침하도록 권고
- 206 : Partial Conent. 성공했으나 일부 범위의 데이터만 반환
3xx - 리다이렉션
300번대의 상태 코드는 대부분 클라이언트가 이전 주소로 데이터를 요청하여 서버에서 새 URL로 리다이렉트를 유도하는 경우입니다.
- 301 : Moved Permanently, 요청한 자원이 새 URL에 존재
- 303 : See Other, 요청한 자원이 임시 주소에 존재
- 304 : Not Modified, 요청한 자원이 변경되지 않았으므로 클라이언트에서 캐싱된 자원을 사용하도록 권고. ETag와 같은 정보를 활용하여 변경 여부를 확인
4xx - 클라이언트 에러
400번대 상태 코드는 대부분 클라이언트의 코드가 잘못된 경우입니다. 유효하지 않은 자원을 요청했거나 요청이나 권한이 잘못된 경우 발생합니다. 가장 익숙한 상태 코드는 404 코드입니다. 요청한 자원이 서버에 없다는 의미죠.
- 400 : Bad Request, 잘못된 요청
- 401 : Unauthorized, 권한 없이 요청. Authorization 헤더가 잘못된 경우
- 403 : Forbidden, 서버에서 해당 자원에 대해 접근 금지
- 405 : Method Not Allowed, 허용되지 않은 요청 메서드
- 409 : Conflict, 최신 자원이 아닌데 업데이트하는 경우. ex) 파일 업로드 시 버전 충돌
5xx - 서버 에러
500번대 상태 코드는 서버 쪽에서 오류가 난 경우입니다.
- 501 : Not Implemented, 요청한 동작에 대해 서버가 수행할 수 없는 경우
- 503 : Service Unavailable, 서버가 과부하 또는 유지 보수로 내려간 경우