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 |