👍 개인 공부 목적의 포스팅으로 잘못된 정보가 있을 경우 꼭 댓글 달아주세요!👍
목차
- HTTP 개요
- HTTP 메시지
- 요청
- 응답
- 요청 메서드
1. HTTP 개요
- Hyper Texgt Transfer Protocol
- 웹에서 데이터를 주고 받을 때 통신에 대해 미리 정한 규칙이 HTTP이다.
- 웹에서 이뤄지는 모든 데이터 교환의 기초이다.
2. HTTP 메시지
- 웹은 서버와 클라이언트로 구성되어 있다.
- 서버와 클라이언트 간의 통신 시 메시지 형태로 데이터를 주고 받는데, 이를 HTTP 메시지라고 한다.
- 메시지는 크게 헤더와 바디로 구성되어 있다.
-
요청 (클라이언트 -> 서버)
-
응답 (서버 -> 클라이언트)
- 요청에 대한 응답 데이터를 클라이언트로 보내는 HTTP 메시지.
- 응답 헤더
- 실제 응답 데이터에 대한 정보 및 부가적인 정보를 담는 곳.
- 응답 상태코드 대한 정보
- 응답 데이터의 형식에 대한 정보
👉 content-type : 응답 데이터 형식 (text/html ...)
- 웹브라우저의 동작 통제를 위한 정보
👉 쿠키 생성 요청
- 응답 바디
- 실제 응답 데이터를 담는 곳.
✌️응답 상태 코드
- MDN 메뉴얼 참고
- HTTP에 요청에 대한 응답 상태를 알려주기 위한 코드가 정의되어 있다.
- 2XX
- 정상 응답
- 200 : OK
- 201 : Created, 정상 작성
- 3XX
- 리다이렉션(페이지 이동)
- 301 : Move Permanently, 영구이동
- 302 : Found, 임시이동
- 304 : Not Modified, 캐시됨
- 4XX
- 요청 오류
- 400 : Bad Request, 잘못된 요청 - 보통 url 부분 오타가 많음
- 401 : Unauthorized, 요청 권한이 없음
- 403 : Forbidden, 접근 금지
- 404 : Not Found, 요청 데이터 못찾음
- 5XX
- 서버 오류
- 500 : Internal Server Error, 서버 내부 문제
- 503 : Service Unavailable, 서비스 사용 불가 - 보통 유지보수 시 지정
3. 요청 메서드
-
서버로 데이터 요청 시 요청하는 방식을 요청 메서드라고 한다.
-
GET
- 서버로 부터 데이터 검색을 위한 방식.
- 캐시 사용이 가능하고, 가장 단순하여 빠른 요청 시 사용함.
- 하지만, 요청 시 입력한 데이터를 서버로 전송 시 데이터가 URL 주소 뒤에 추가되므로 노출 위험이 있어 보안에 취약하다.
-
POST
- 서버 내부 자원을 수정할 때 사용하는 방식.
- 보통 서버 내 정보를 추가하거나 수정할 때 사용함.
- 요청 시 입력한 데이터를 요청 바디에 담아 보안상 안전하다.
- 입력한 데이터의 길이 제한이 없다.
-
PUT
- 서버 내부 자원을 전체 치환할 때 사용하는 방식.
- POST 방식 중 하나이다.
- 보통 파일 업로드 시 많이 사용한다.
-
PATCH
- 서버 내부 자원을 일부 치환할 때 사용하는 방식.
-
DELETE
- 서버의 데이터를 삭제 요청 시 사용하는 방식.
-
OPTIONS
- 통신 옵션을 설명하기 위해 다른 요청 방식보다 먼저 요청되는 것.