본문 바로가기

HTTP/HTTPS 본문

개념 정리

HTTP/HTTPS

Seongjun_You 2022. 5. 27. 14:40

HTTP(Hyper Text Transfer Protocol)란 서버와 클라이언트의 데이터 교환을 요청(Request)과 응답(Response) 형식으로 정의한 프로토콜입니다.

 

HTTP 헤드

헤더는 필드와 값으로 구성되며 HTTP메시지 또는 바디의 속성을 나타냅니다.

하나의 HTTP 메시지에는 0개 이상의 헤더가 있을 수 있습니다.

 

HTTP 바디

헤드의 끝을 나타내는 CRLF뒤, 모든 줄을 말합니다.

클라이언트나 서버에게 전송하려는 데이터가 바디에 담깁니다.

 

HTTP 요청

서버에게 특정 동작을 요구하는 메시지

시작 줄은 메소드, 요청 URL, HTTP버전으로 구성됨

메소드는 8개가 있으나, GET, POST가 자주 사용됨

GET은 리소스를 가져오라는 메소드

반대로 POST는 서버에 보내주는 것

 

HTTP 응답

HTTP 응답은 HTTP 요청에 대한 결과를 반환하는 메시지

요청을 수행했는지, 하지 않았는지. 안 했다면 이유는 무엇인지와 같은 상태 정보

그리고 클라이언트에게 전송할 리소스가 응답에 포함됨

200 : 성공

302: 다른 URL로 갈 것

400 : 요청이 문법에 맞지 않음

403 : 클라이언트가 리소스에 요청할 권한이 없음

404 : 리소스가 없음

500 : 요청을 처리하다가 에러가 발생함

503 : 서버가 과부하로 인해 요청을 처리할 수 없음

 

HTTP의 응답과 요청은 평문으로 전달됩니다.

로그인할 때 전송한 POST 요청에는 대개 이용자의 ID와 비밀번호가 포함됩니다.

공격자가 중간에 이를 가로채면 이용자의 계정이 탈취당할 수 있습니다.

 

HTTPS는 TLS프로토콜을 도입하여 이런 문제점을 보완합니다.

TLS는 서버와 클라이언트 사이에 오가는 모든 HTTP메시지를 암호화합니다.

공격자가 중간에 메시지를 탈취하더라도 이를 해석하는 것은 불가능하며,

결과적으로 HTTP 통신이 도청과 변조로부터 보호됩니다.

 

 

'개념 정리' 카테고리의 다른 글

Web Browser  (0) 2022.05.27
WEB  (0) 2022.05.27
base64  (0) 2022.02.13
_IO_FILE Arbitrary Address Write  (0) 2022.02.10
_IO_FILE Arbitrary Address Read  (0) 2022.02.10
Comments