관심쟁이 영호

[#7] 시스템 보안 - 웹 보안 ㅣ HTTP의 이해 본문

학교공부/시스템보안

[#7] 시스템 보안 - 웹 보안 ㅣ HTTP의 이해

관심쟁이 영호 2020. 11. 20. 14:51
반응형

안녕하세요!

관심쟁이 영호입니다.

 

오늘은 시스템 보안에 대해서 공부를 할게요!

 


오늘 저희가 볼 내용은

HTTP에 대해서 개략적으로 공부를 해볼겁니다.

 

 

 

HTTP에 대해서 공부하기전에 프로토콜에 대해서 알아야하는데요.

여기서 프로토콜이란, "프로토콜(Protocol)은 통신 시스템이 데이터를 교환하기 위해 사용하는 통신 규칙이다."이라고

네이버에 나와있습니다!

 

이러한 프로토콜도 여러가지가 있는데요.

FTP, Telnet, SMTP, POP, HTTP 등이 있어요!

이 중에서도 가장 흔하게 쓰이는 프로토콜은 HTTP이랍니다.

 

HTTP란?

 

HTTP는 웹통신 프로토콜이고, 이 프로토콜을 사용하면 텍스트, 그래픽, 애니메이션, 사운드를 프로그램에 접근해서 재생할 수가 있어요!

 

HTTP 동작원리

 

먼저 그림으로 살펴볼게요!

 

① Connect

클라이언트가 웹 브라우저를 이용하여 서버에 연결을 요청합니다. 그리고 서버는 클라이언트에 대해 서비스를 준비합니다.

 

② Request

서버의 준비상태가 완료되고, 클라이언트는 서버에게 읽고자하는 웹 문서를 요청합니다.

 

③ Response

서버는 요청받은 웹 문서를 클라이언트에게 전송합니다. 그리고, 연결을 끊습니다.

 

※ HTTP 또한 윗 내용과 같은 방식으로 연결을 수행합니다. 하지만 매번 내용을 주고받을 때 마다 Connect과정을 거쳐야 하기 때문에 매우 비효율 적이었어요!(0.9 버전)

 

1.0버전부터의 동작원리를 살펴볼게요!

 

이렇게 다시 Request 요청을 반복적으로 할 수 있도록 했습니다!

 

그럼 좀 더 상세히 들어가서

Requset할 때 방식들에 대해서 공부할게요!

 

크게 세 가지로 나눌 수 있어요.

- GET 방식 / POST 방식 / 기타 방식

 

GET 방식

이 방식은 가장 일반적인 방식이에요! 

브라우저에게 URL을 통해서 전송하는 방식입니다.

 

예를 들자면!

www.naver.com/list.php?page=2&aaa=12  

이런 식으로 쓰는거에요!

 

해당 방식은 이름과 값을 "&"로 결합을 하고 글자 수는 255자로 제한합니다!

하지만 해당 방식은 URL을 요청할 때 해당 정보가 전부 표식되기 때문에 보안에 안좋아요 ㅠㅠ

저 정보가 만약 해당 페이지에서 아이디와 패스워드면 참 난감한 상황이 오겠죠?

그래서 POST방식이 등장했어요!

 

POST 방식

해당 방식은 이전의 GET방식과는 다르게 URL말고 따로 정보를 포장하여 보내는 방식입니다.

요청할 때, 내부의 파라미터를 통해서 보내기 때문에 안전성이 더욱 높아지죠!

하지만 GET보다는 처리속도가 현저히 느려진답니다..

 

기타 방식

HEAD방식 / OPTION 방식 / PUT 방식 / DELETE 방식 / TRACE 방식 등등이 있는데

자세히 보진 않을게요!

 

HTTP Response

그럼 서버가 http 방식으로 반응하는 내용을 살펴보겠습니다.

패킷으로 보내는데, 그 안에는 해당 서버의 프로토콜 버전, Request에 대한 실행 결과 코드, 실행 결과에 대한 간략한 설명이 들어있어요! 그럼 실행 결과 코드에 대해서 살펴볼게요!

 

실행 결과 코드 내용 설명
100번대 정보 전송 HTTP 1.0까지는 계열에 대한 정의가 이루어지지 않았기 때문에 실험 용도 외에는 100번대 서버 측의 응답이 없다.
200번대 성공 Request에 대한 결과가 성공
300번대 리다이렉션 해당 요구 사항을 처리하기 위하여 사용자 에이전트가 수행해야 할 추가적인 동작이 있음을 말해요!
400번대 클라이언트 측의 에러 클라이언트 측에서 문제가 있다는 뜻이에요!
500번대 서버 측의 에러 서버 자체에서 발생한 오류를 뜻합니다.

 


오늘은 여기까지 공부를 해볼게요!

모두모두 즐거운 하루 보내시길 바래요!

 

300x250
Comments