*인터넷에서 사용 가능한 웹 서비스
-프로토콜 : 웹 서비스들이 지켜야할 규칙, 표준 인터넷 규약
1) HTTP(Hypertext Transfer Protocol)
-HTML 문서의 송수신을 위한 프로토콜
-웹 서핑을 할 때 서버에서 브라우저로 데이터를 전송해 주는 용도
-비연결 지향형 통신 프로토콜
클라이언트가 서버에 정보를 요청하면 웹 서버가 해당 페이지를 클라이언트에게 전송한 후 연결을
끊어버림, 그 후에도 계속 이러한 과정 반복, 단순히 전달해주고 끝.
즉, 페이지끼리 연결되는 것이 아니라 페이지가 바뀔 때마다 서버가 해당 페이지를 내려 보내주는 것
cf1) HTTPS(Hypertext Transfer Protocol Secure)
-SSL(보안 소켓 계층)을 사용함으로써 HTTP의 보안 취약 문제 해결
-SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고,
서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아줌
cf2) URL : 네트워크상에 자원이 어디에 있는지 알려주는 규약
2) FTP : 원격 서버 사이에 파일을 교환하기 위한 TCP/IP 프로토콜
*쿠키
-사용하는 이유?
마음에 드는 물건을 장바구니에 담았다가 언제든지 마음에 들지 않으면 취소할 수 있는 정보들을 서버에 저장하는 것은 서버의
부하를 높여 웹 서비스의 속도를 느리게 하는 원인, 서버를 사용하지 않으면서 물건을 담아둘 수 있게 하는 것이 쿠키의 역할
-사용자의 정보를 지속적으로 유지하기 위한 방법
-서버가 아닌 클라이언트 컴퓨터의 하드디스크(폴더)에 사용자의 정보를 저장 -> 서버에 무리를 주지 않음
-적은 양의 정보, 최대 용량 1.2MB
-단점? 폴더 경로만 알면 정보를 찾아낼 수 있으므로 pc방과 같은 곳에서는 보안에 취약, 적은 양의 데이터 저장
*세션
-쿠키에 비해 보안 유지에 강력, 데이터에 한계가 없음
-세션은 서버 상에 존재하는 객체, 웹 브라우저 당 하나씩만 발급
-브라우저를 닫기 전까지 페이지를 이동하더라도 사용자의 정보를 잃지 않음
-내장객체 session 사용
-세션이 사용되는 경우는?
로그인, 장바구니, 은행 업무를 보는 경우 일정 시간이 지나면 로그아웃(메서드 사용),
자리를 비웠을 경우, 정해진 시간이 지나면 세션의 유효시간 설정(메서드 사용)
-세션에 값 설정
session.setAttribute(“dblee”, id);
-세션 가져오기
String id = (String) session.getAttribute(“id”);
-세션에 저장된 특정 객체 제거
session.removeAttribute(“id”);
-설정된 모든 세션 제거
session.invalidate();
*세션을 활용한 로그인 예제
-로그인 인증된 정보를 웹사이트 전반에 사용할 수 있으려면 이 정보를 세션에 저장
-웹사이트에서 한번 로그인한 후에 여러 페이지를 서핑하더라도 로그인한 정보가 유지되는 이유