IT 공부/새로운 시작

HTTP(15) - HTTP 헤더(3) 전송 방식, 일반 정보, 특별한 정보

수박한암살자 2021. 12. 14. 00:07

HTTP 전송 방식에는 대표적인 4가지 방식이 있다.

 

1. 단순 전송

- Content-Length만 담아서 보낸다.

 

2. 압축 전송

- Content-Encoding을 추가로 보내어 압축 방법을 알려준다

 

3. 분할 전송

- Transfer-Encoding으로 chunkded를 넣어서 보낸다. 이 경우 Content-Length는 있으면 안된다.

 

4. 범위 전송

- Content-Range를 넣어서 보낸다.

 


일반 정보에 대해서도 알아보자. 이 역시 자주 본 것들이다.

 

1. From

- 유저 에이전트의 이메일 정보다. 일반적으로 잘 사용하지 않으나 검색 엔진에서는 주로 사용하며, 요청 시 담아 보낸다.

 

2. Referer

- 이전 웹 페이지의 주소를 뜻한다. 예를 들어 A사이트 -> B사이트로 이동하면 B로 요청할 때 Referer로 A를 넣어서 보낸다.

이를 이용하며 유입 경로를 분석 가능하며, Referer 역시 요청 시 쓰인다. 참고로 Referrer의 오타이기도 하다.

 

3. User-Agent

- 유저 에이전트의 애플리케이션 정보다. 웹 브라우저 정보가 주로 담기며, 통계 정보를 추출하기 좋다. 또한, 장애나 버그 발생 시 어느 브라우저에서 오류가 발생했는지 파악하기도 좋다. 역시 요청 시 쓰인다.

 

4. Server

- 요청을 처리하는 ORIGIN 서버의 소프트웨어 정보다. 에를 들어 Server: Apache/2.2.22(Debian)과 같이 작성되어 넘어온다. 응답에서 사용한다.

 

5. Date

- 메시지가 발생한 날짜와 시간을 넣는다. 응답에서 사용한다.

 


특별한 정보를 담는 헤더에 대해서 알아보자

 

1. Host

- 제일 중요한 헤더 중 하나이다. 요청한 호스트 정보(도메인)가 담긴다. 그냥 요청하면 같은 서버에 여러 애플리케이션이 동작하면 어떤 애플리케이션을 실행해야하는지 알 수가 없기 때문에 필수이다.

 

2. Location

- 페이지 리다이렉션 시 사용한다. 3XX 응답이 올 경우 페이지 리다이렉션을 사용해야하는데 이 때 Location 헤더가 있다면 해당 위치로 이동시킨다. 또는 201 응답에서 요청에 의해 생성된 리소스의 URI를 담을 때도 사용한다.

 

3. Allow

- 허용 가능한 메서드를 뜻한다. 405에서 포함해야하지만 잘 사용하지 않는다.

 

4. Retry-After

- 유저 에이전트가 다음 요청을 처리하기까지 기다려야하는 시간이다. 503 에러가 났을 경우, 서비스가 언제까지 불능일지 알려줄 수 있다. 하지만 실제로 사용하기 어려운 문제점이 있다.

 

(인증 헤더 2가지도 끼워넣어 알아보자)

1. Authorization 

- 클라이언트의 인증 정보를 서버에 전달하는 헤더이다.

 

2. WWW-Authenticate

- 리소스 접근 시 필요한 인증 방법을 정의 하는 헤더이다. 401 에러(Unauthorized)와 함께 사용한다.

반응형