7. GET 방식과 POST 방식 실습

Yeppi's 개발 일기·2022년 5월 10일
0

Web

목록 보기
7/7
post-custom-banner

GET 방식 요청

1. html 파일 get 방식으로 변경

  • src/main/webapp 디렉토리 폴더에 login.html 파일을 get 방식으로 설정
<form action="loginProcess" method="get">

2. 브라우저에서 url 입력

  • 브라우저에 url을 입력한 순간 서버에 한번 갔다 온다
    URL → http://localhost:8080/BoardWeb/login.html

  • 로그인 화면(login.html)을 서버에 요청하는 것

  • 브라우저가 URL 검색창을 통해 직접 HTTP 요청을 전송하면?
    기본적으로 GET 방식(디폴트)으로 처리

👉 HTTP 요청 start-line, message-header, message-body가 서버에 전송


3. 서버는 브라우저가 요청한 login.html 파일 검색


4. HTTP 응답 프로토콜 생성 후, 브라우저에 응답

  • 서버는 자신이 관리하고 있는 BoardWeb 프로젝트에서 브라우저가 요청한 login.html 파일을 검색

👉 HTTP 응답 프로토콜 status-line, message-header, message-body를 생성하여 브라우저로에 응답

6. HTTP 응답 프로토콜의 전반적인 흐름 사진을 보면, 이해가 빠르다



POST 방식

1. html 파일 post 방식으로 변경

  • src/main/webapp 디렉토리 폴더에 login.html 파일을 post 방식으로 설정
<form action="loginProcess" method="post">

2. 아이디, 비밀번호 입력 후 로그인 버튼 클릭


3. HTTP 요청이 서버에 전달

  • HTTP 요청 start-line, message-header, message-body가 서버에 전송


✍ 로그인 기능

GET 방식 - 정보 노출

아이디 비밀번호 노출되는 문제 발생
?id=test&password=1234

  • 로그인 화면에서 로그인 button 누르면, 서버에 test 파일을 요청

  • HTTP 요청 프로토콜 start-line, message-header, message-body가 서버에 전송

  • 쿼리 문자열(Query String) : HTTP 요청과 함께 전달된 문자열

  • URI 뒤에 id와 password 정보를 같이 전달 ⇒ 보안취약


POST 방식 - 정보 은닉

아이디 비밀번호 노출되지 않음
보안성 강함

  • 쿼리 문자열이 message body에 숨겨져서 정보가 전송
  • 정보 노출 안되서 보안이 좋음
profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋
post-custom-banner

0개의 댓글