web

Http Header 분석하기

datajoy 2020. 2. 28. 20:19

공통

Method

  • GET : 리소스를 조회.
  • POST : 리소스 생성합니다.
  • PUT : 리소스 수정.
  • DELETE : 리소스 삭제.

Connection

  • 클라이언트와 서버의 연결방식.
  • Connection: close #클라이언트와 접속중단.
  • Connection: Keep-Alive #클라이언트와 접속유지.

Cache-Control

  • no-store : 캐시를 저장하지 않겠다.
  • no-cache : 모든 캐시를 쓰기 전에 서버에 해당 캐시를 사용해도 되는지 확인하겠다.
  • must-revalidate : 만료된 캐시만 서버에 확인하겠다.
  • public : 공유 캐시에 저장해도 된다.
  • private : '브라우저' 같은 특정 사용자 환경에만 저장하겠다.
  • max-age : 캐시의 유효시간을 명시하겠다. 

Content-Length

  • 요청과 응답의 본문 크기(byte 단위)
  • ex) Content-Length:85040

Content-Type

1) Multipart Related MIME 타입

  •   Content-Type: Multipart/related <-- 기본형태
  •   Content-Type: Application/X-FixedRecord

2) XML Media의 타입

  •  Content-Type: text/xml
  •  Content-Type: Application/xml
  •  Content-Type: Application/xml-external-parsed-entity
  •  Content-Type: Application/xml-dtd
  •  Content-Type: Application/mathtml+xml
  •  Content-Type: Application/xslt+xml

3) Application의 타입 

  •  Content-Type: Application/EDI-X12 <--  Defined in RFC 1767 
  •  Content-Type: Application/EDIFACT <--  Defined in RFC 1767 
  • Content-Type: Application/javascript <-- Defined in RFC 4329 
  •  Content-Type: Application/octet-stream  : <-- 디폴트 미디어 타입은 운영체제 종종 실행파일, 다운로드를 의미
  •  Content-Type: Application/ogg <-- Defined in RFC 3534
  •  Content-Type: Application/x-shockwave-flash <-- Adobe Flash files
  •  Content-Type: Application/json <-- JavaScript Object Notation JSON; Defined in RFC 4627 
  •  Content-Type: Application/x-www-form-urlencode <-- HTML Form 형태
  • x-www-form-urlencode와 multipart/form-data은 둘다 폼 형태이지만 x-www-form-urlencode은 대용량 바이너리 테이터를 전송하기에 비능률적이기 때문에 대부분 첨부파일은 multipart/form-data를 사용하게 된다.

4) 오디오 타입

  • Content-Type: audio/mpeg <-- MP3 or other MPEG audio
  • Content-Type: audio/x-ms-wma <-- Windows Media Audio;
  • Content-Type: audio/vnd.rn-realaudio <--  RealAudio;  등등 

5) Multipart 타입

  • Content-Type: multipart/mixed: MIME E-mail; 
  • Content-Type: multipart/alternative: MIME E-mail;
  • Content-Type: multipart/related: MIME E-mail <-- Defined in RFC 2387 and used by MHTML(HTML mail) 
  • Content-Type: multipart/formed-data  <-- 파일 첨부

6) TEXT 타입 

  • Content-Type: text/css
  • Content-Type: text/html
  • Content-Type: text/javascript
  • Content-Type: text/plain
  • Content-Type: text/xml

7) file 타입

  • Content-Type: application/msword <-- doc
  • Content-Type: application/pdf <-- pdf
  • Content-Type: application/vnd.ms-excel <-- xls
  • Content-Type: application/x-javascript <-- js
  • Content-Type: application/zip <-- zip
  • Content-Type: image/jpeg <-- jpeg, jpg, jpe
  • Content-Type: text/css <-- css
  • Content-Type: text/html <-- html, htm
  • Content-Type: text/plain <-- txt
  • Content-Type: text/xml <-- xml
  • Content-Type: text/xsl <-- xsl

 

Request Header

Host

  • 요청하는 서버 도메인 네임. 반드시 하나가 존재해야한다.

User-Agent

  • 요청하는 사용자가 어떤 클라이언트(운영체제, 브라우저, 앱 등)를 통해 요청했는지 알 수 있다.

Accept

  • 클라이언트가 허용 할 수 있는 파일 형식

Cookie

  • 클라이언트 서버간에 쿠키를 주고받는 정보 표기.
  • session 정보, JWT 등

Origin

  • 서버로 Post 요청을 보낼 때 요청이 어느 주소에서 시작되었는지 나타내는 값.
  • 이 값으로 요청을 보낸 주소와 받는 주소가 다르면 CORS 에러가 난다.

If-Modified-Since

 

Refer

 

Authorization

  • 인증토큰을 서버로 보낼때 사용하는 헤더

 

Response Header

Server

  • 웹서버 정보

Access-Control-Allow-Origin

  •  Access-Control-Request-Method : 실제로 보내려는 메서드
  •  Access-Control-Request-Headers : 실제로 보내려는 헤더
  •  Access-Control-Allow-Methods : 서버가 허용하는 메서드
  •  Access-Control-Allow-Headers : 서버가 허용하는 헤더

Allow

 

Content-Disposition

  • 응답 본문을 브라우저가 어떻게 표시해야할지 알려주는 헤더

Location

  • 300번대 응답 또는 201 Created 응답 일 때 어떤 페이지로 이동하는지 알려주는 헤더

Content-Security-Policy