ajax란, web page가 로드 된 이후에, 웹 서버로 부터 데이터를 읽어 올 수 있다. 페이지를 새로 로딩하지 않고 웹 페이지를 업데이트할 수 있다. 백그라운드 에서 웹 서버로 데이터를 보낼 수 있다.
RESTful이란,웹에 존재하는 모든 자원(이미지,동영상 DB자원등)에 고유한 URI를 부여해 활용하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미합니다. 하나의 URI 는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 경합해서 원하는 작업을 지정합니다.
쿠키와 세션의 차이
Session과 Cookie 사용 이유
- 현재 우리가 인터넷에서 사용하고 있는 HTTP프로토콜은 연결 지향적인 성격을 버렸기 때문에 새로운 페이지를 요청할 때마다 새로운 접속이 이루어지며 이전 페이지와 현재 페이지 간의 관계가 지속되지 않는다. 이에 따라 HTTP프로토콜을 이용하게 되는 웹사이트에서는 웹페이지에 특정 방문자가 머무르고 있는 동안에 그 방문자의 상태를 지속시키기 위해 쿠키와 세션을 이용한다.
Session
특정 웹사이트에서 사용자가 머무르는 기간 또는 한 명의 사용자의 한번의 방문을 의미하며, Session에 관련된 데이터는 Server에 저장된다. 웹 브라우저의 캐시에 저장되어 브라우저가 닫히거나 서버에서 삭제시 사라진다. Cookie에 비해 보안성이 좋다.
Cookie
사용자 정보를 유지할 수 없다는 HTTP의 한계를 극복할 수 있는 방법이다. 인터넷 웹 사이트의 방문 기록을 남겨 사용자와 웹 사이트 사이를 매개해 주는 정보이다 .Cookie는 인터넷 사용자가 특정 웹서버에 접속할 때, 생성되는 개인 아이디와 비밀번호, 방문한 사이트의 정보를 담은 임시 파일로써, Server가 아닌 Client에 텍스트 파일로 저장되어 다음에 해당 웹서버를 찾을 경우 웹서버에서는 그가 누구인지 어떤 정보를 주로 찾았는지 등을 파악할 때 사용된다. Cookie는 Client PC에 저장되는 정보기 때문에, 다른 사용자에 의해서 임의로 변경이 가능하다.(정보 유출 가능, Session보다 보안성이 낮은 이유)
Get/Post 전송방식의 특징
Get 방식
클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름"과 "값"이 결합된 스트링 형태로 전달한다. 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다. 길이에 제한이 있다, 즉 전송 데이터의 한계가 있다. Post방식보다 상대적으로 전송 속도가 빠르다.
Post 방식
일정 크기 이상의 데이터를 보내야 할 때 사용한다. 서버로 보내기 전에 인코딩하고, 전송 후 서버에서는 다시 디코딩 작업을 한다. 주소창에 전송하는 데이터의 정보가 노출되지 않아 Get방식에 비해 보안성이 높다. 속도가 Get방식보다 느리다.쿼리스트링(문자열) 데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스 같은 객체들의 값도 전송가능하다.
Get과 Post 차이점
Get은 주로 웹 브라우저가 웹 서버에 데이터를 요청할 때 사용하고 Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용한다. Get을 사용하면 웹 브라우저에서 웹 서버로 전달되는 데이터가 인코딩되어 URL에 붙는다. Post방식은 전달되는 데이터가 보이지 않는다. Get방식은 전달되는 데이터가 255개의 문자를 초과하면 문제가 발생할 수 있다. 웹서버에 많은 데이터를 전달하기 위해서는 Post 방식을 사용하는 것이 바람직하다.
'SpringBoot' 카테고리의 다른 글
자바 코드로 직접 Spring @Bean을 등록하는 방법 (0) | 2022.12.21 |
---|---|
SpringBoot @Bean, @Autowired, 레이어드 아키텍쳐 (0) | 2022.12.21 |
22.07.06 스프링 (0) | 2022.07.06 |
22.07.05 (0) | 2022.07.05 |
22.03.24 ( URI, HTTP ) (0) | 2022.03.24 |