geeone 스터디 블로그
[컴퓨터 네트워크] 네트워크의 응용 계층 - HTTP 주요 헤더 본문
1. DNS와 URI/URL
2. HTTP의 특징과 메시지 구조
3. HTTP 메서드와 상태 코드
4. HTTP 주요 헤더
HTTP 주요 헤더
HTTP 메시지-필드라인-HTTP 헤더
<HTTP 메시지>
시작 라인 (줄바꿈)
필드 라인 (줄바꿈)
(줄바꿈)
메시지 본문
요청 메시지에서 주로 활용되는 HTTP 헤더
1. Host
- 요청을 보낼 호스트가 명시되는 헤더입니다.
- 도메인 네임이나 IP 주소, 포트 번호가 표현됩니다.
- Host 헤더와 요청 라인을 조합하면 보낸 URL을 짐작할 수 있습니다.
GET /hypertext/WWW/TheProject.html HTTP1.1
Host : info.cern.ch
-> http://info.cern.ch/hypertext/WWW/TheProject.html 에 GET 요청 메시지를 보낼 때의 HTTP 요청 메시지
2. User-Agent
- 유저 에이전트 : HTTP 요청을 시작하는 클라이언트 측의 프로그램 ex) 웹 브라우저
- User-Agent 헤더에는 요청 메시지를 보낸 클라이언트의 프로그램과 관련된 정보가 명시됩니다.
- 사용된 브라우저의 종류, 운영체제 및 아키텍처의 정보, 웹 브라우저에 대한 시각적 요소를 구현하는 렌더링 엔진의 종류 등이 명시됩니다.
- User-Agent 헤더를 통해 HTTP 요청 메시지를 보낸 클라이언트의 접속 수단(ex. 웹 브라우저)을 유추할 수 있다
3. Referer
- 오타가 아닙니다~
- 클라이언트가 요청을 보낼 때 머무르던 URL이 명시됩니다.
- 클라이언트의 유입 경로를 파악할 수 있습니다.
Referer : https://minchul.net
-> https://minchul . net 에 머무르다가 요청을 보냈음을 알 수 있음.
응답 메시지에서 주로 활용되는 HTTP 헤더
1. Server
- HTTP 응답 메시지를 보내는 서버 호스트와 관련된 정보가 명시됩니다.
Server : Apache/2.4.1 (Unix)
-> 유닉스 운영체제에서 동작하는 아파치 HTTP 서버에서 응답 메시지를 보냈음을 알 수 있음.
2. Allow
- 처리 가능한 HTTP 헤더 목록을 알리기 위해 사용됩니다.
- 상태 코드 405(Method Not Allowed)는 '수신한 요청 메시지의 메서드를 지원하지 않는다'였는데, 이를 응답할 때 함께 사용 가능합니다.
3. Location
- 클라이언트에게 자원의 위치를 알려주기 위해 사용됩니다.
- 주로 리다이렉션이나 새로운 자원이 생성되었을 때 사용됩니다.
요청과 응답 메시지 모두에서 활용되는 HTTP 헤더
1. Date
- 메시지가 생성된 날짜와 시각에 관련된 정보를 담은 헤더입니다.
2. Content-Length
- 메시지 본문의 바이트 단위 크기(길이)를 표현하기 위해 사용됩니다.
3. Content-Type, Content-Language, Content-Encoding
- 메시지 본문이 어떻게 '표현'되었는지와 관련된 헤더입니다.
- 표현 헤더 representation header라고 부르기도 합니다.
- Content-Type은 메시지 본문에서 사용된 미디어 타입을 의미합니다.
- Content-Language 는 메시지 본문에 어떤 자연어가 사용되었는지를 나타내고, 언어 태그로 명시됩니다. 언어 태그는 하이픈(-)으로 여러 서브 태그가 구분된 구조를 따릅니다.
<첫번째 서브 태그>
<첫번째 서브 태그> - <두번째 서브 태그>
<첫번째 서브 태그> - <두번째 서브 태그> - <세번째 서브 태그>
- 첫 번째 서브 태그 : '특정 언어'를 나타내는 언어 코드, 주로 소문자로 표기
- 두 번째 서브 태그 : '특정 국가'를 나타내는 국가 코드, 주로 대문자로 표기
- ex) en-US //미국에서 사용하는 영어 , en-GB //영국에서 사용하는 영어
- Content-Encoding 은 메시지 본문을 압축하거나 변환한 방식이 명시됩니다. 이 방식을 알아야 수신자 측에서 압축을 해제하고 재변환할 수 있습니다. 대표적인 값은 gzip, compress, deflate, br 입니다. 메시지 본문은 여러 번 압축/변환될 수 있고, 순서대로 명시됩니다.
Content-Encoding : gzip
Content-Encoding : br
Content-Encoding : deflate, gzip
4. Connection
- HTTP 메시지를 송신하는 호스트가 어떠한 방식의 연결을 원하는 지 명시합니다.
- 대표적인 값은 keep-alive(지속적인 연결을 희망), close(연결 종료를 희망함) 입니다.
Connection : keep-alive
Connection : close
'컴퓨터 네트워크' 카테고리의 다른 글
| [컴퓨터 네트워크] 네트워크의 응용 계층 - 캐시 (0) | 2024.10.11 |
|---|---|
| [컴퓨터 네트워크] 네트워크의 응용 계층 - 쿠키 (0) | 2024.10.10 |
| [컴퓨터 네트워크] 네트워크의 응용 계층 - HTTP 메서드와 상태 코드 (0) | 2024.10.08 |
| [컴퓨터 네트워크] 네트워크의 응용 계층 - HTTP의 특징과 메시지 구조 (0) | 2024.10.08 |
| [컴퓨터 네트워크] 네트워크의 응용 계층 - DNS와 URI/URL (0) | 2024.10.08 |