본문 바로가기
개발 노트/기초 지식

http 패킷, post, get, 그 외의 메소드

by tokkiC 2022. 8. 2.

클라이언트가 서버로 요청을 할때 클라이언트가 보내는 데이터를 HTTP 패킷이라고 한다 

HTTP 프로토콜을 써서 HTTP + 패킷( =  인터넷을 통해 보내는 데이터)  인 것이다

HTTP 패킷은 헤더와 바디로 나뉘는데

헤더에는 통신에 필요한 정보들이 들어있고,

바디에는 http 메소드를 사용하여 특정 데이터를 담아서 서버에게 요청을 보낼 수 있다

http 의 메소드로서 post 와 get을 사용하는 것은 이미 배웠었다

클라이언트의 데이터를 서버로 전달하려 할때 사용하는 http의 메소드들이다

get 은 url 로 요청한 데이터를 받아오고, post 는 body 안에 담아서 요청한 데이터를 받아온다고 알고있다

그렇다면 각각 어떻때 써야할까?

리뷰어 moons 님의 리뷰

"보통 브라우저에서 페이지를 호출할 경우엔 get 메소드로 호출하며 post 메소드로 호출하지 않습니다.

post 메소드로 호출할 경우 form submit, ajax 호출 등을 통해 http 메소드를 정할 경우 호출할 수 있습니다.

또한, 각 http 메소드 마다의 역할이 있습니다." - moons 님의 코드 리뷰 중...

추가로

get 은 요청할때마다 같은 응답이 나오므로 동일한 페이지를 보여줘야 할때 사용하며 (조회 등) - 가져옴

post 는 요청할때마다 응답이 다를 수 있다. 서버의 값이나 상태를 바꾸려 할때 사용한다 (게시물 수정 등) - 수행

http 메소드가 더 있었어?

어 근데... 각 http 메소드 마다? 찾아보니 get post 외에도 여러 메소드가 있었다 아래 그림을 참고하자

이미지 출처  : https://kyun2da.dev/CS/http-%EB%A9%94%EC%86%8C%EB%93%9C%EC%99%80-%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C/

상당히 많은 메소드가 있다. 하지만 다행히도 모두 배울 필요는 없다

get과 post 메소드 외에는 보안이 취약해서 개발에 쓰이지 않는다고 한다

또한 url 에 요청 데이터가 노출이 되는 get 뿐 아니라 post 도 보려고 하면 요청 데이터를 얼마든지 볼 수 있기에

get 과 post 모두 보안을 위해서라면 암호화 해야 한다

댓글