HTTP 헤더

동스토리 ㅣ 2020. 6. 26. 16:02

반응형

HTTP 메서드

 

GET : 지정된 리소스(URI)를 요청

POST : 서버가 클라이언트의 폼 입력 필드 데이터의 수락을 요청, 클라이언트는 서버로 HTTP Body Data를 전송

HEAD : 문서의 헤더 정보만 요청하며, 응답데이터(body)를 받지 않는다.

PUT : 클라이언트가 전송한 데이터를 지정한 URI로 대체한다.

DELETE : 클라이언트가 지정한 URI를 서버에서 삭제한다.

TRACE : 클라이언트가 요청한 자원에 도달하기 까지의 경로를 기록하는 루프백 검사용

OPTIONS : 사용하고 있는 HTTP 메서드 확인


공통 헤더

 

Date : HTTP 메시지가 만들어진 시각

Connection

Content-Length : 요청과 응답 메시지의 본문 크기를 바이트 단위로 표시

Cache-Control

Content-Type : 컨텐츠의 타입(MIME)과 문자열 인코딩(utf-8 )을 명시할 수 있다.

Content-Language : 사용자의 언어

Content-Encoding : 응답 컨텐츠를 br, gzip, deflate 등의 알고리즘으로 압축해서 보내면, 브라우저가 알아서 해제해서 사용


요청 헤더

 

Host : 서버의 도메인 네임, Host 헤더는 반드시 하나가 존재해야 한다.

User-Agent : 현재 사용자가 어떤 클라이언트(운영체제, , 브라우저 등)를 통해 요청을 보냈는지 알 수 있다.

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

Cookie : 웹서버가 클라이언트에 쿠키를 저장해 놓았다면 해당 쿠키의 정보를 이름-값 쌍으로 웹서버에 전송한다.

Orgin : POST같은 요청을 보낼 때, 요청이 어느 주소에서 시작되었는지를 나타내는데 이때 보낸 주소와 받는 주소가 다르면 CORS 문제가 발생하기도 한다.

* CORS문제 : 외부 서버의 API에서 어떤 데이터를 가지고 오려고 할 때 헤더 정보제공 서버에서 접근을 허락하는 헤더 내용이 없으면 발생한다.

If-Modified-Since : 페이지가 수정되었으면 최신 버전 페이지 요청을 위한 필드

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


응답 헤더

 

Server : 웹 서버 정보를 나타낸다.

Access-Control-Allow-Origin : 요청 Host와 응답 Host가 다르면 CORS 에러가 발생하는데 서버에서 응답 메시지 Access-Control-Allow-Origin 헤더에 프론트 주소를 적어주면 에러가 발생하지 않는다.

Allow

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

Location : 300번대 응답이나 201 Created 응답일 때 어느 페이지로 이동할지를 알려주는 헤더

Content-Security-Policy : 다른 외부 파일들을 불러오는 경우, 차단할 소스와 불러올 소스를 여기에 명시할 수 있다.

 


 응답코드

 

상태코드

의미

설명

1XX

informational(정보)

요청을 받았으며 처리가 계속되고 있음을 나타냅니다.

2XX

Success(성공)

요청이 성공했음을 나타냅니다. 보통 200을 성공으로 사용하지만 UI가 없는 API 등에서는 처리가 완료되었을 경우 201이나 204 응답을 보내는 경우도 있습니다.

3XX

Redirection(리다이렉션)

클라이언트가 요청한 컨텐츠가 다른 곳에 있다는 의미입니다.

4XX

Client Error(클라이언트 에러)

클라이언트 측에 기인한 오류로 요청이 실패했음을 나타냅니다.

5XX

Server Error(서버 에러)

서버 측에 기인한 오류로 인해 요청이 실패했음을 나타냅니다.

 

 

상태코드

의미

설명

200

OK

요청이 정상적으로 완료되었음.

201

Created

성공적으로 요청되었으며 서버가 새 리소스를 작성했음을 의미합니다. 브라우저가 API를 사용하여 POST로 새로운 정보 등록을 요청할 경우 결과값으로 사용합니다.

204

No Content

성공적으로 요청되었으며 서버가 새 리소스를 작성했지만 응답 컨텐츠가 없음을 의미하며 API에서 많이 사용하는 상태 코드입니다.

301

Moved Permanently

요청된 리소스가 영구적으로 다른 URL에 있음을 나타냅니다.

302

Found

요청된 리소스가 일시적으로 다른 URL에 있음을 나타냅니다.

401

Unauthorized

권한없는 컨텐츠를 요청했을 때 인증을 거치라는 의미로 사용하며 요청한 인증이 실패했을 경우에도 응답으로 전송합니다.

403

Forbidden

금지된 컨텐츠를 요청하여 서버가 실행을 거부했음을 나타냅니다.

404

Not Found

요청한 리소스가 서버에 없음을 나타내며 브라우저에서 잘못된 URL을 전송했을 경우 발생합니다.

500

Internal Server Error

Java PHP등 서버 내부에서 실행되는 프로그램에서 예외가 발생했음을 나타냅니다.

503

Service Unavailable

서버가 현재 작업이나 유지보수로 인해 잠시 가용하지 않음을 나타냅니다. 웹 서버와 WAS로 기능이 나눠진 경우 웹 서버가 WAS에 연결하지 못할 경우에도 발생합니다.

 

감사합니다.

 

 

 

반응형

'Security > Application' 카테고리의 다른 글

모의해킹 참고 사이트  (0) 2021.02.17
XSS(Cross Site Scripting)  (0) 2020.08.01
OWASP TOP10  (0) 2020.06.30
쿠키 & 세션  (0) 2020.06.26
Burp suite 설치 및 사용법  (0) 2020.05.29