본문 바로가기
🌈 백엔드/네트워크 HTTP

네트워크_HTTP 요청메세지 (GET vs POST)

by 개발자 알마 2023. 8. 9.
반응형

 

[1] HTTP 요청메세지 


 

(1) 방법 GET vs POST

 

GET POST
Read
서버의 리소스를 가져오기 위해 설계한다
Write
서버에 데이터를 쓰기 위해 설계한다
URL 주소에 요청메세지를 넣는다  바디에 요청메세지를 넣는다 
소용량이 가능
쿼리스트링 Query String을 통해 데이터를 전달한다 
대용량이 가능
전송데이터 크기의 제한이 없다 
URL에 입력할 정보를 넣기 때문에 데이터 노출이 되어 보안이 취약하다  데이터를 요청메세지의 body에 담아 전송하여 get보다 보안이 강하다
데이터 전달 및 공유에 유리하다 데이터 전달 및 공유에는 불리하다 
암호화는 TLS가 되어야 적용된다 (https://...) 
검색엔진에서 검색단어 전송에 이용한다  게시판에 글쓰기 만들기
로그인
회원가입
파일 첨부에 사용한다 
  post 요청방식은 <form>을 사용해야하여 post man 확장프로그램을 사용하여 적용한다 

 

 

 

(2) 요청 메세지 구성  

 

요청라인
헤더
구분줄
바디 

 

 

 

(3) 상태코드 구분 

상태코드 의미 풀이 
1xx Informational 클라이언트와 서버와의 정보교환 
2xx Success 성공
3xx Redirect 현재 url은 오류로, 다른 URL로 요청해라 

4xx Client Error 클라이언트가 요청을 잘못한 에러
5xx Server Error 클라이언트가 요청을 알맞게 했으나 , 서버가 요청을 처리하다고 생긴 에러 
예외를 처리할수 있는 대처방법이 없었기 때문에 나올수 있다 

 

 

 

[2] 브라우저 조회 


(1) 브라우저에서 검사 

브라우저에서 요청 메서드 직접 확인해보기 

오른쪽 클릭 > 검사 

Network 클릭 

 

 

ctrl+R 조회 

 

 

요청 입력값 선택 > Headers 

 

 

 

 

응답내용을 볼수 있도록 Raw 선택 

 

(2) 요청라인 & 요청메세지 & 응답메세지 확인

제네럴 요청라인 

응답 메세지

요청 메세지  

이 순서대로 확인이 가능하다 

 

 

 

[3] Postman 조회 


(1) 크롬 확장프로그램 설치 : Tabbed Postman - REST Client 

post 방식으로 사용하려면 

확장프로그램을 설치하여 사용한다 

 

 

 

 

(2) 요청메세지 GET 사용

POSTMAN을 연다 

 

 

URL 입력

GET 선택

Send 

 

 

값을 주지 않아서 에러가 남

 

URL parmas를 선택하여 

year

month

day

값을 입력한다 

 

 

다시 조회하면 

정상적으로 출력된다 

 

 

 

 

(3) 요청메세지 POST 사용

 

URL 입력 

POST 선택

입력값 세팅 

Preview 선택 

 

요청메세지의 정보를 확인할수 있다 

 

 

 

[4] STS4 조회


(1) 크롬 확장프로그램의 제한 

 

크롬에서는 헤더 내용이 제한되어있다 

 

 

(2) STS4 요청메세지 헤더 조회  

 

요청 메세지의 헤더 정보 출력 

 

 

(3) STS4 요청메세지 전체 조회  

요청메세지 내용 전체를 출력한다 

 

(4) STS4 요청메세지 결과 

① GET 요청메세지 결과 

GET /ch2/requestMessage?year=2021&month=10&day=1 HTTP/1.1  <--- 요청 라인(request line)
host:localhost:8080
connection:keep-alive
sec-ch-ua:"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"
sec-ch-ua-mobile:?0
sec-ch-ua-platform:"macOS"
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
sec-fetch-site:none
sec-fetch-mode:navigate
sec-fetch-user:?1
sec-fetch-dest:document
accept-encoding:gzip, deflate, br
accept-language:ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7

 

② POST 요청메세지 결과 

POST /ch2/requestMessage HTTP/1.1  <--- 요청 라인(request line)
host:localhost:8080
connection:keep-alive
content-length:90
sec-ch-ua:"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"
cache-control:no-cache
content-type:application/x-www-form-urlencoded
sec-ch-ua-mobile:?0
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36
sec-ch-ua-platform:"macOS"
accept:*/*
origin:chrome-extension://coohjcphdfgbiolnekdpbcijmhambjff
sec-fetch-site:none
sec-fetch-mode:cors
sec-fetch-dest:empty
accept-encoding:gzip, deflate, br
accept-language:ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
                          <--- empty line
year=2021&month=10&day=1  <--- request body

 

반응형

댓글