https://www.favicon-generator.org/
파비콘 제작
디스패쳐에서 html 끌어오는거 serverapp으로 옮김
디스패쳐 수정
HTTP client와 Session
통신방식
Connection-oriented 방식 TCP: 연결후 통신 예> telnet, http, smtp |
*stateful 방식 (telnet, FTP) 연결-요청-응답(반복) -끊기 *stateless 방식 (http) 연결 - 요청- 응답 - 끊기 (1번만) |
Connetionless 방식 UDP 연결없이 통신 예> ping, broadcasting(streaming 방송) |
HTTP 통신:
stateless 방식으로 동작한다.
요청할때마다 새로 연결한다.
요청을 처리하는 스레드가 다를 수 있다.
요청과 요청 사이에 데이터를 공유할 수 없다. - > 스레드에 보관해봐야 소용없고, http servlet request에 보관해도 소용없다.
HTTP client와 Session 1. 쿠키를 이용하여 클라이언트 구분하기
클라이언트는 서버에 요청할 때마다 서버로부터 받은 쿠키값을 요청ㅎㅔ더("cookie") 에 첨부하여 보다.
서버에서 세션 ID를 보밸 때 응답헤더에 첨부해서 보낸다. =setcookie
세션 iD를 갖고있는 클라이언트에 응답할 때는 세션ID를 또 보내지 않는다.
try {
// 클라이언트 세션 ID 알아내기
String sessionId = null;
boolean firstVisit = false;
//클라이언트가 보낸 쿠키들 중에서 세션ID가 있는지 확인한다.
List<Cookie> cookies = request2.allCookies().get(MYAAPP_SESSION_ID);
if (cookies.size() > 0) {
// 세션ID가 있으면 이 값을 가지고 클라이언트를 구분한다.
sessionId = cookies.get(0).value();
} else {
// 세션ID가 없으면 이 클라이언트를 구분하기 위해 새 세션ID를 발급한다.
sessionId = UUID.randomUUID().toString();
firstVisit = true;
}
if (firstVisit) {
// 세션ID가 없는 클라라이언트를 위해 새로 발급한 세션ID를 쿠키로 보낸다.
// 웹브라우저는 이 값을 내부 메모리에 저장할 것이다.
response.addCookie(new DefaultCookie(MYAAPP_SESSION_ID, sessionId));
}
HTTP client와 Cookie
Cookie: HTTP 서버가 http 클라이언트에 key-value 형태로 보관시키는 값
=> HTTP 클라이언트는 요청할 때 마다 쿠키를 받은 서버로 다시 전달한다.
HTTP client와 Session 2. 같은 클라이언트의 요청들 사이에서 데이터 공유하기
util - HttpSession 클래스 추가 , 서버앱 수정
HttpSession : // 클라이언트 당 한 개가 배정되는 보관소 - 클라이언트 요청 간에 데이터를 공유할 때 사용한다. - 클라이언트 세션 ID로 구분한다.
HttpServletRequest- 에 session 관련 메서드 두개 추가 setSession getSession
loginServlet 수정 보드add수정, 자동 로그인하는거 문구 삭제
HTTP 요청 방식
GET 요청 vs post요청
1. GET 요청 : 데이터 조회
2. POST 요청: 데이터 생성, 변경 (REST에서는 PUT요청 사용)
표붙이기
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 웹프로그래밍' 카테고리의 다른 글
[NC7기-73일차(8월7일)] - 웹프로그래밍 54일차 (0) | 2023.08.07 |
---|---|
[NC7기-72일차(8월4일)] - 웹프로그래밍 53일차 (0) | 2023.08.04 |
[NC7기-70일차(8월2일)] - 웹프로그래밍 51일차 (0) | 2023.08.02 |
[NC7기-69일차(8월1일)] - 웹프로그래밍 50일차 (0) | 2023.08.01 |
[NC7기-68일차(7월31일)] - 웹프로그래밍 49일차 (0) | 2023.07.31 |