2023. 4. 2. 17:29ㆍWEB
프로토콜/도메인/리소스 경로를 쓴다,
예를 들어서 이런식으로 나타낼 수 있다.
http://htmlisnotaprogramminglanguage.tistory.com/3
http://는 프로토콜 이다. 프로토콜이란 네트워크에서 데이터를 통신하기위해서 맞추어 놓은 통신 규약이다.
htmlisnotaprogramminglanguage.tistory.com은 도메인이다. 도메인은 웹 사이트의 주소이자 사람들이 구분하기 쉽게 ip를 도메인으로 대체하는것이다
+DNS는 도메인을 ip로 바꿔주는곳이다.
리소스 경로는 서버에 있는 리소스 위치이다.
클라이언트의 요청중, 클라이언트는 파라미터를 보내 또다른 정보를 요청하고 싶을때가 있을것이다.
파라미터를 보내는 방식중
대표적인 두가지의 요청 방식이 있다.
GET 방식과 POST방식이다.
만약, 성적표 사이트를 본다고 했을때
서버는 우리 이름을 모를것이다. 그러니 우리는
서버에게 파라미터로 자신의 이름을 보내서 자신의 성적표를 request 해야한다.
GET 방식은 URL중 주소란 끝에 파라미터를 담아서 보내는것이다.
보내는 방법은 요청할 주소를 작성하고 마지막에 ?과 key,value 값을 쓰면 된다.
http://sample.com/index.html?name=홍길동
그러면 서버는 key가 name이고 value가 홍길동이라는 값을 가지고
홍길동의 성적표를 찾고 response(응답) 한다.
하지만, 자신의 성적을 입력하는 사이트가 있다고 가정해보자.
서버에게 파라미터를 전달하려면
http://sample.com/index.html?name=홍길동&gradle=3&kor=100&math=100&eng=90....
등등의 URL을 아주 길게 작성하여서 길어지고 구분이 어렵다. 또한 자신의 이름과 점수가
들어나서 보안성에 적합하지 않다.
이의 단점을 해결할수 있는 POST 방식의 요청이 있다.
POST 방식의 요청은
http 본문에 데이터를 담아서 보내는 방식이라서
보안적인 부분을 높이고 더 많은 데이터를 보낼수 있다.
하지만 여기서 의문점이 존재한다.
GET 방식에서 많은 데이터들을 보내기 힘든것은 이해하나
집에서 은밀하게 요청을하면 아무도 모르는것 아닌가?
로그가 찍혀서 해커가 URL을 탈취할수 있는것인가?
찾아보니 보안상의 문제가 존재했다.
캐시나 히스토리 내역에 URL이 저장되기때문에 보안상 위험 요소가 증가한다.
또한 네트워크 패킷 스니핑 공격으로 데이터가 탈취될수 있는 위험이 있다고 한다.
또, HTTP 본문 이라는것이 자세하게는 몰랐는데
http 프로토콜에서 정한 통신 규격은 http 헤더와 http 바디(본문)으로 구성되어있고
http 헤더는 통신에 대한 세부 사항이고
http 바디는 전송하고자 하는 데이터가 들어오는 공간이라는것을 알았다.
우리가 form/post 방식으로 전송할시,
http body에 입력한 정보를 담고 서버에 요청하는것이다!
'WEB' 카테고리의 다른 글
JWT 발급부분 코드분석 (0) | 2023.04.06 |
---|---|
스프링 시큐리티 로그인 코드 분석 (0) | 2023.04.06 |
서버와 클라이언트 (0) | 2023.04.01 |