[보안기사] HTTP 구조
HTTP 구조
(1) 시작라인
- HTTP 요청에서 사용
- 시작 라인 구조
1) HTTP Method (요청 시 보내는 HTTP 메서드 형태)
- GET : 어떠한 데이터를 받아 올 때 사용하는 메서드, Body가 없음
- POST : 데이터를 생성/수정/삭제할 때 주로 사용하는 메서드, 요청 파라미터를 본문(Body)에 붙여서 전송
- PUT : 서버의 데이터를 삽입/갱신하는 메서드
- DELETE : 삭제
- TRACE : 웹 서버가 콘텐츠를 서비스하기 위한 환경을 확인하기 위한 메서드
- OPTIONS : 서버가 해당 경로에 대해 지원하는 메서드를 물어볼 때 사용하는 메서드 (OPTIONS/HTTP/1.1)
2) Request Target (어디로 보내는지에 대한 URI)
3) HTTP Version (HTTP 버전)
(2) 상태라인
- 서버가 클라이언트 요청에 대해 응답결과를 나타내는 첫번째 줄
- Status code : 100 (Continue), 200 (OK), 300 (Multiple Choices, 동시에 여러 응답을 요청하는 경우), 400 (Bad Request), 403 (서버가 요청을 거부), 404 (요청된 URL이 존재하지 않는 경우) , 500 (서버 내부 오류)
(3) 헤더
- 헤더 구조
1) cache-control (웹서버 부하 감소를 위한 캐싱 서버를 제어하는 필드)
- max-age : 캐싱된 데이터의 유효시간을 설정 (max-age =30이면 30초동안 유효)
- no-store : 캐싱 잠금 금지, 데이터의 캐시는 허용하지만 기존 캐시된 응답을 사용하지 않고 항상 새로운 응답을 사용 (max-age=0과 동일)
* no-store를 포함한 메시지를 자꾸 보내면 서버에 부하가 발생함. (cache contrrol 공격이라고함)
2) Connetion (연결을 유지할 것인지 끊을 것인지 지시하는 필드)
3) Content-Type (body의 데이터 타입 필드)
4) Content-Length (body의 길이 필드, 바이트 단위, POST 방식에 동봉되는 데이터 크기)
* content-Length 를 99999와 같이 매우 큰값으로 설정한 후 본문을 천천히 1바이트 씩 전송하게 되면 RUDY 공격, slow http post 공격
5) Cookie (클라이언트에서 서버로 전달되는 쿠키 필드, 평문전송 시 위험)
6) Set-Cookie
7) Host (요청을 받는 서버의 URL 필드)
8) User-Agent (요청을 보내는 클라이언트의 정보를 나타내는 필드)
9) Allow (서버가 요청한 경로에 대해 허용하는 HTTP 메서드를 나타내는 부분 (예: Allow GET, HEAD, POST, OPTIONS)
(4) 빈줄 - 헤더와 본문을 구분하기 위한 개행
(5) 본문 - Body, 메시지의 본문을 포함하는 부분
◉ HTTP 구조를 모르면 아래의 것을 이해하기 어렵다

'정보보안 > 정보보안기사' 카테고리의 다른 글
| [보안기사] 포트 스캐닝, 세션 하이재킹 (0) | 2026.01.05 |
|---|---|
| [보안기사] SQL 인젝션 (0) | 2025.12.19 |
| [보안기사] Overflow 공격 (0) | 2025.12.18 |
| 정보보안기사 실기 정리 파일 (0) | 2025.12.05 |
| 정보보안기사 필기 빈출 정리 (0) | 2025.02.27 |




