일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 개발시작전 자세
- 자바스크립트 인라인
- 다른사람 프로젝트 수정전 가져야할 자세
- #{..}
- 타임리프와 스프링
- 설정
- 리눅스
- 명령어
- 시퀀스 조회
- 룸북
- 프로젝트 클린
- cmd
- 순서 보장
- JSON
- 추천 사이트
- 함수 인자값 id
- 추천 프로그램
- BindingResult
- js
- it
- Intellij
- Java
- 타임리프
- 스프링부트
- StringUtils.hasText
- 하모니카 OS 5
- linux
- select
- Test 룸북 사용하기
- 비밀번호 변경 명령어
- Today
- Total
목록◆HTTP (11)
웹개발 블로그
https://khj93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-REST-API%EB%9E%80-REST-RESTful%EC%9D%B4%EB%9E%80 [네트워크] REST API란? REST, RESTful이란? REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST API를 알기 위해 REST부터 알아보도록 하겠습니다. REST란? REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상 khj93.tistory.com REST API 설계 예시 1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다. Bad Example http://khj93..

#단점 1. 쿠키의 값은 임의로 변경할 수 있다!!!! ㄴ 개발자도구/애플리케이션 - Cookies - http:// ip : 포트 - 여기서 value 값을 변경가능하지! ㄴ 그냥 모든 값은 클라이언트(웹 브라우저)에 보관하면 보안상 위험하다는걸 인지해! 2. 쿠키에 보관된 정보를 훔쳐갈 수 있어 -> 내 pc에 값이 털리는거야 -> 해커가 value를 알아내서 마이페이지에서 너의 정보를 볼 수 있는거지. 이제 대안을 알아볼까? #대안 1. 쿠키에 중요한 정보를 노출하지 않고, 사용자별로 랜덤 토큰 값을 노출하고, 서버에서 토큰과 사용자id를 매핑해서 인식한다(서버에서 토큰을 관리) 2. 토큰은 해커가 임의 값을 넣어도 찾을 수 없도록 예상 불가능해야함. 3. 해커가 토근을 털어가도 시간이 지나면 사용..

※서버 세션이랑 다르다! 세션쿠키 : 만료날짜가 없으며, 브라우저 종료시까지만 유지함. 🔽세션 쿠키 생성 //쿠키에 시간 정보를 주지 않으면 세션 쿠기(브라우저 종료시 모두 종료) Cookie idCookie = new Cookie("memberId", String.valueOf(loginMember.getId())); response.addCookie(idCookie); 로그인시 (처음 생성) 응답헤더에 Set-Cookie:memberId="value"가 생성되고 이후로 페이지내에 이동할 때마다 요청헤더에 Cookie:memberId="value"가 따라온다. 🔽세션 쿠키 없애기 //쿠키를 없앨려면 시간을 다 없애면 된다!!! Cookie cookie = new Cookie(cookieName, nul..

•WAS는 Requeset, Response 객체를 새로 만들어서 -> 서블릿 객체 호출 •개발자는 Reuqest 객체에서 HTTP 요청 정보를 편리하게 꺼내서 사용 •개발자는 Response객체에 HTTP응답 정보를 편리하게 입력 •WAS는 Response객체에 담겨있는 내용으로 HTTP 응답 정보를 생성 #서블릿 특징 - urlPatten의 URL의 호출되면 서블릿 코드가 실행 - HTTP 요청 정보를 편리하게 사용할 수 있는 HttpServletRequest - HTTP 응답정로를 편리하게 사용할 수 있는 httoServletResponse -개발자는 HTTP 스펙을 매우 편리하게 사용

구조 설명 Status Code HTTP 응답코드를 의미하고 200은 성공적으로 처리하는것을 의미 Server - 서버 프로그램 이름과 버전 전송을 의미 - 'Server'필드부분을 보면 (개발자도구) Apache 웹 서버2.2.22버전에 Debian 리눅스 운영체제인 것을 확인할 수 있음. Expires 자원의 만기 일자를 의미 Cache Control 캐시 사용 여부를 나타내며 no-cache는 캐시를 사용하지 않는다. Pragma 캐시 사용 여부를 나타냄. http/1.0에서 쓰이며, http/1.1에서는 Cache Control이 쓰인다 Content-Encoding 응답되는 메시지의 인코딩 방식을 의미 Content-Length 바이트 단위로 응답되는 리소스의 크기 Keep-Alive 연결 유지..

#쿠키(Cookies)에 대해 - 쿠키는 웹 브라우저에서 저장할 수 있는 작은 공간 -개발자가 프로그램에 필요한 정보를 임시적으로 저장할 수 있음. - 쿠키 값은 만료날짜를 지정하여 언제까지 데이터가 유지될 지를 결정할 수 있음. #세션에 대해 - 쿠키 값중에서 연결이 종료되면 쿠키 값도 자동으로 삭제되는 것이 있는데 이건을 세션 쿠기라고 한다. - HTTP가 TCP 프로토콜이기 때문에 필요하고, TCP는 Connection이 아니라 Connection Oriented 방식을 사용 (즉 연결된 것이 아니라 특정 정보를 주고 받으면 연결된 것으로 착각하게 만드는 것) 이때 웹 서버와 웹 브라우저가 서로 약속한 문자열을 보내야 하는데 그것이 바로 세션 정보이다. 만약 로그인 사용자의 세션 정보가 갈취되면 세..

구조 설명 Request Method 호출되는 메소드로 GET 혹은 POST, OPTIONS, PUT, DELETE, TRACE, CONNECT 인지를 나타냄 Accept - 웹 브라우저에서 사용 가능한 미디어 타입을 의미 - text/*, text/html 등 Accept_Language 웹 브라우저가 인식할 수 있는 언어를 의미 User-Agent 웹 브라우저 정보를 의미 Accept-Encoding 웹 ㅂ라우저에서 제공되는 인코딩 방식을 의미 Host 웹 서버의 기본 url을 의미 Connection 연결 지속 및 연결 끊기를 나타내며 Keep Alive 혹은 close Request Method에서 GET은 URL에 입력 파라미터를 넣어서 요청하는 것 post는 요청 파리미터를 http body에..

HTTP프로토콜은 HTTP Header와 Body로 이루어져 송신되거나 수신된다. HTTP Header는 HTTP Request 시에 전달해야 하는 웹 브라우저 정보, 요청방식, 파라미터 등이 있고 HTTP Body는 Reuqest 할 때는 사용되지 않고 POST 방식의 Request 시 Body에 파라미터 정보를 넣고 전송하는 GET 방식이 있다. - 연결을 종료하지 않고 유지되는 Keep Alive Connection을 지원한다. - HTTP는 Header와 Body로 구분되며 Header와 Body 사이에 개행문자가 존재한다. - 개행문자는 "\r\n\r\n"으로 구분된다.

쿠키와 캐시 차이?? 간단히 생각하면 쿠키는 서버의 필요에 의해 클라이언트에 저장하는 데이터, 캐시는 클라이언트 자체에서 페이지 로드를 효율적으로 하려고 저장하는 데이터 물론 캐시도 서버에서 지정한 캐시 정책을 준수하다. 캐시가 없을 때 - 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. - 인터넷 네트워크는 매우느리고 비싸다. - 브라우저 로딩 속도가 느리다. - 느린 사용자 경험 캐시 적용 - 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. - 비싼 네트워크 사용량을 줄일 수 있다. - 브라우저 로딩 속도가 매우 빠르다. - 빠른 사용자 경험.(들어갔던 웹 브라우저를 다시 들어가 빠르게 열리는 경험있지? 캐시 때문이야) 캐시 시간 초과 다시 요청하며 ..

•Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) • Cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달(요청) 쿠키를 왜 사용하나? - HTTP는 무상태(Stateless) 프로토콜이다. - 클라이언트와 서버가 요청과 응답을 주고 받으면 연결이 끊어진다. - 클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다. - 클라이언트와 서버는 서로 상태를 유지하지 않는다. 쿠키 - 생명주기 (Expires, max-age) 1. Set-Cookie: expries=Sat, 26-Dec-2020 04:39:21 GMT ㄴ 만료일이 되면 쿠키 삭제 2. Set-Cookie: max-age=3600(3600초) ㄴ 0이나 음수를 지정하면 쿠키 삭제 쿠키 종..