웹 개발 Web Development
HTTP 프로토콜 및 요청과 응답
코딩고블린
2020. 1. 27. 15:49
HTTP 프로토콜 ?
HTTP 프로토콜이란, 브라우저가 서버(Sever)가 정보를 주고받기 위한 통신 규약이다.
TCP/UDP 어플리케이션 계층 기반으로, 연결을 상시 유지하지 않는다.
요청-응답 두가지 타입 *패킷으로 텍스트(Plan Text, XML, Json 등...) 데이터를 주고받는다.
*패킷 : 데이터의 묶음 단위로 한번에 전송할 데이터의 크기
HTTP 메세지(요청/응답) 구조
HTTP 요청, 응답은 다음과 같은 구조를 하고 있다.
- 요청 라인
- 헤더
- blank line (빈 줄)
- 바디
HTTP 요청 메서드
데이터 요청의 종류에 따라서, 다음과 같은 메서드를 사용 한다.
- GET : 데이터 요청 및 조회 (헤더)
- POST : 신규 데이터 생성하거나 기존 데이터를 가공 (바디)
- PUT : 데이터 변경
- DELETE : 데이터 삭제
- HEAD : 서버 헤더 정보를 획득. GET과 비슷하나 Response Body를 반환하지 않음
- OPTIONS : 서버 옵션들을 확인하기 위한 요청. CORS에서 사용
HTTP Status (상태)
요청 응답에 상태에 따라 약속된 코드를 함께 반환하여, 효율적인 데이터 처리를 가능하게 한다.
100번대부터 500번대 까지 다양한 응답 및 에러내용이 약속되어있다.
다음은
100번대 : 요청 계속
200번대 : 요청 성공
300번대 : 응답 가능 (리다이렉션)
400번대 : 클라이언트단 요청, 응답 에러
- 400 Bad Request : 잘못된 문법 및 약속되지않은 요청으로 서버가 읽을 수 없음
- 403 forbidden : 서버, 컨텐츠에 접근할 권리 없음
- 404 Not found : 요청한 페이지를 찾을 수 없음
500번대 : 서버/DB 요청, 응답 에러
- 500 Internal Server Error : 서버 처리 작업 불가, 오류
- 502 Bad Gateway : Gateway 로 처리작업중 잘못된 응답
100~500번 대 상태 코드 정리 : https://developer.mozilla.org/ko/docs/Web/HTTP/Status