네트워크/HTTP 기초 알아보기 2편
- HTTP Requests / HTTP Responses 정리
HTTP Requests
- 클라이언트가 서버에게 보내는 메세지
- start line , headers , body 구조로 되어 있다.
Start line
- 수행할 작업, HTTP 메서드를 나타냄 (GET,POST등)
- 요청 대상 ( URL & URI ) 또는 프로토콜, 포트,도메인의 절대 경로는 요청 컨텍스트에 작성됨
(요청 형식은 HTTP method 마다 다름) - HTTP 버전에 따라 HTTP message 구조가 달라지기 때문에 HTTP버전을 같이 입력
HTTP method 요청 형식
origin 형식 : '?'와 쿼리 문자열이 붙는 절대 경로
GET, POST, HEAD, OPTIONS 등의 method와 함께 사용
POST / HTTP 1.1
GET /background.png HTTP/1.0
HEAD /test.html?query=alibaba HTTP/1.1
OPTIONS /anypage.html HTTP/1.0
absolute 형식 : 완전한 URL 형식으로, 프록시에 연결하는 경우 대부분 GET method와 함께 사용
GET http://developer.mozilla.org/en-US/docs/Web/HTTP/Messages HTTP/1.1
authority 형식 : 도메인 이름과 포트 번호로 이루어진 URL의 일부분, HTTP 터널을 구축하는 경우,
CONNECT와 함께 사용
CONNECT developer.mozilla.org:80 HTTP/1.1
asterisk 형식 : OPTIONS 와 함께 별표(*) 하나로 서버 전체를 표현
OPTIONS * HTTP/1.1
Headers
- Headers 기본 구조 : 헤더 이름(대소문자 구분이 없는 문자열), 콜론( : ), 값을 입력
Headers 종류
- General headers : 메시지 전체에 적용되는 헤더로, body를 통해 전송되는 데이터와는 관련이 없는 헤더
- Request headers : fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더를 의미
User-Agent, Accept-Type, Accept-Language와 같은 헤더는 요청을 보다 구체화한다.
Referer처럼 컨텍스트를 제공하거나 If-None과 같이 조건에 따라 제약을 추가할 수 있음 - Representation headers : 이전에는 Entity headers로 불렀으며, body에 담긴 리소스의 정보
(콘텐츠 길이, MIME 타입 등)를 포함하는 헤더
Body
- GET, HEAD, DELETE, OPTIONS처럼 서버에 리소스를 요청하는 경우에는 body가 필요하지는 않음
- POST나 PUT과 같은 일부 요청은 데이터를 업데이트하기 위해 사용
- Single-resource bodies(단일-리소스 본문) / Multiple-resource bodies(다중-리소스 본문) 2가지 종류가 있음
HTTP Responses
- 서버가 클라이언트에게 보내는 메시지
- 포함되어 있는 정보 : 프로토콜 버전 / 상태 코드 / 상태 텍스트
Headers
- 요청 헤더와 동일한 구조를 가지고 있음
Headers 종류
- Response headers : 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더로, Vary, Accept-Ranges와 같이 상태 줄에 넣기에는 공간이 부족했던 추가 정보를 제공합니다.
이 외 나머지 헤더 종류는 요청 헤더 종류와 동일
Body
- 모든 응답에 body가 필요하지 않는다.
- 201, 204와 같은 상태 코드를 가지는 응답에는 본문이 필요하지 않음
- Single-resource bodies(단일-리소스 본문) / Multiple-resource bodies(다중-리소스 본문) 2가지 종류가 있음
'Front end > 개발 지식' 카테고리의 다른 글
[ UI / UX ] 와이어프레임 & 프로토타입 (0) | 2023.04.15 |
---|---|
[ UI / UX ] 기초 알아보기 (0) | 2023.04.15 |
[ SOP / CORS ] 기본 개념 알아보기 (0) | 2023.04.06 |
[ 네트워크/HTTP ] REST API_기초 알아보기 3편 (0) | 2023.03.29 |
[ 네트워크/HTTP ] 기초 알아보기 1편 (0) | 2023.03.29 |