HTTP[Hyper Text Transfer Protocol)
: HTML과 같은 문서를 전송하기 위한 Application 계층 프로토콜
: Stateless(무상태성) 특징을 지님 (즉, 특정 상태를 유지하지 않음)
HTTP messages
유형 1) 요청(Requests)
2) 응답(Responses)
구조
1) start line : 요청이나 응답의 상태를 나타내며, 항상 첫째줄에 위치
2) HTTP headers : 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합
3) empty line : 헤더와 본문을 구분하는 빈 줄
4) body : 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함하며 유형에 따라 선택적 사용
[요청(Requests)]
1) start line
- 수행할 작업(Get, Put, Post 등) 이나 방식(HEAD of OPTIONS(을 설명하는 HTTP mothod
- 요청 대상(URL or URI) 또는 프로토콜/포트/도메인의 절대 경로는 요청 컨텍스트에 작성
- HTTP 버전에 따라 구조가 변경
2) headers
: 기본 구조를 따름 (기본 구조 : 헤더이름, 콜론(:), 값을 입력)
- General headers : 메시지 전체에 적용되는 헤더로 body를 통해 전달되는 데이터와 관련이 없는 헤더
- Request headers : fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더
- Representation headers : body에 담긴 리소스의 정보(콘텐츠 길이, MIME 등)를 포함하는 헤더
3) body
: GET, HEAD, DELETE, OPTIONS 처럼 서버에 리소스를 요청하는 경우 본문이 필요하지 않으며, POST/PUT과 같은 일부 요청은 데이터 업데이트를 위해 사용
- Single-resource bodies : 헤더 2개로 정의된 단일 파일로 구성
- Multiple-resource bodies : 여러 파트로 구성된 본문에서 각 파트마다 다른 정보를 지님
[응답(Responses)]
1) staus line
: 현재 프로토콜의 버전, 상태 코드(요청의 결과), 상태 텍스트(상태 코드에 대한 설명)의 정보를 포함
2) headers - 요청과 동일
: 기본 구조를 따름 (기본 구조 : 헤더이름, 콜론(:), 값을 입력)
- General headers : 메시지 전체에 적용되는 헤더로 body를 통해 전달되는 데이터와 관련이 없는 헤더
- Request headers : fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더
- Representation headers : body에 담긴 리소스의 정보(콘텐츠 길이, MIME 등)를 포함하는 헤더
3) body
: 201, 204와 같은 상태 코드를 가지는 응답에는 본문이 필요하지 않음
- Single-resource bodies
: 길이가 알려진 본문은 헤더 2개로 정의된 단일 파일로 구성
: 길이를 모르는 본문은 Transfer-Encoding이 chunked로 설정되어 있으며, 파일은 chunk로 나뉘어 인코딩되어 있음
- Multiple-resource bodies : 여러 파트로 구성된 본문에서 각 파트마다 다른 정보를 지님
[HTTP 메서드]
주요 메서드
1) Get : 리소스 조회
2) POST : 요청 데이터 처리, 주로 데이터 등록에 사용
3) PUT : 리소스를 대체, 해당 리소스가 없을 경우 생성
4) PATCH : 리소스 일부만 변경
5) DELETE : 리소스 삭제
기타 메서드
1) HEAD : GET과 동일하지만 메시지 부분을 제외하고 상태/헤더만 반환
2) OPTIONS : 대상 리소스에 대한 통신 기능 옵션을 설명 (CORS에서 주로 사용)
3) CONNECT : 대상 자원으로 식별되는 서버에 대한 터널 설정
4) TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트 수행
[HTTP 상태코드]
100번대 : 요청이 수신되어 처리중
200번대 : 요청 정상 처리
300번대 : 요청을 완료하려면 추가 행동 필요
400번대 : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청 수행 불가
500번대 : 서버 오류, 서버가 정상 요청 처리 진행 불가
'공부 자료 > 네트워크' 카테고리의 다른 글
[네트워크] Open API / API Key (0) | 2022.10.03 |
---|---|
[네트워크] REST API (0) | 2022.10.03 |
[네트워크] SSR, CSR (0) | 2022.09.30 |
[네트워크] 웹 애플리케이션 (아케텍처, 흐름, 구현) (1) | 2022.09.30 |
[네트워크] 클라이언트-서버 아키텍처(2티어 아키텍처) (0) | 2022.09.30 |