본문 바로가기
[보안 Archive] ~2017/<인터넷 해킹과 보안> 정리

웹에 대한 이해(1) - HTTP

by Joy L. 2020. 4. 30.
반응형
(해당 글은 '인터넷 해킹과 보안'(작가 김경곤 출판 한빛아카데미)을 공부하며 내용을 정리한 글입니다.)

2장 웹에 대한 이해 (1)

 

HTTP (Hyper Text Transfer Protocol)는 WWW상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰이며, 80번 포트를 사용한다.

 

HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹 페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. HTTP 프로토콜은 요청과 응답 이후, 연결이 끊어진다. HTTP를 통해 전달되는 자료는 “http:”로 시작하는 URL로 조회할 수 있다.

 

HTTP는 Header와 빈 공백, Body로 나눠진다. Header에서는 주소 정보 등이 포함되며 Body에는 요청한 메시지 정보가 포함된다.

 

  1. 클라이언트가 서버에 연결 요청. 서버는 클라이언트에 대한 서비스를 준비한다.
  2. 클라이언트는 읽고자 하는 문서를 서버를 요청.
  3. 서버는 문서 클라이언트가 요청한 문서를 전달해 주고
  4. 연결을 종료.

 

[Request 패킷]

GET, POST, HEAD 등과 같은 메소드가 있음.

패킷의 가지 구성 요소

HTTP 전송 방법: 주로 GET 많이 사용

요청된 URL

HTTP 버전

해킹과 관련하여 눈여겨봐야 것들: Cookie, SessionID, Host, User-Agent

 

GET 메소드와 POST 메소드의 차이:

GET

POST

URL 요청 데이터를 전달함

요청 데이터를 URL 보내지 않고, HTTP 바디 영역에 데이터를 전송한다.

 

인자 값이 URL 노출 되지 않기 때문에 보안 측면에서 GET 방식보다 안전하다.

GET 주로 게시판 읽기 등에 쓰이고, POST 작성, 삭제 등에 사용된다.

 

메소드들:

HEAD

OPTIONS

PUT

DELETE

TRACE

 

[Response 패킷]

구성요소: 프로토콜 버전, HTTP 상태 코드, 전달해 데이터의 형식,

 

HTTP 상태 코드

 

중요한 상태 코드

 

 

반응형

댓글