전체 글 51

[network] - (7) HTTP 헤더1 : 일반 헤더

[HTTP 헤더] header -필드= field이름 ":" OWS field-value OWS HTTP헤더 용도 - HTTP 전송에 필요한 모든 부가정보를 담아. 헤더 분류(과거) • General 헤더: 메시지 전체에 적용되는 정보, ex) Connection: close • Request 헤더: 요청 정보, ex) User-Agent: Mozilla/5.0 (Macintosh; ..) • Response 헤더: 응답 정보, ex) Server: Apache • Entity 헤더: 엔티티 바디 정보, ex) Content-Type: text/html, Content-Length: 3423 메시지 본문(message body)은 엔티티 본문(entity body)을 전달하는데 사용 엔티티 본문은 요청이..

[network] - (6) HTTP 상태코드

[상태코드] 클라이언트가 서버에 요청을 보내면 그 요청이 잘 처리가 됐는지 http response가 올 때 알려주는 기능 • 1xx (Informational): 요청이 수신되어 처리중 • 2xx (Successful): 요청 정상 처리 200,201, • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 클라이언트가 서버에 요청하면 추가적인 조치가 필요해 클라에 다시 돌려보내 • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 [2xx] - 성공 201 - 클라이언트가 요청한것을 서버쪽에서 리소스 생성. post로 등록했을 때 201 - 자원이..

[network] - (5) HTTP메서드 활용

[데이터 전달 방식] 1.쿼리 파리미터를 통해 : GET 2.메세지 바디를 통해 : POST, PUT, PATCH [클라이언트에서 서버로 데이터 전송] 1.정적 데이터 조회 - 이미지나 정적텍스트 문서, GET사용, 쿼리 파라미터 없이 리소스 경로로 단순 조회 가능 경로가 /star.jsp면 서버에서 그 이미지를 클라이언트에 내려줘. 추가적인 데이터를 내려주는게 없어.단순히 URI 경로만 넣으면 받아서 이미지 리소스를 클라이언트에 내려줘. 2.동적 데이터 조회 - 조회시 데이터 전달할 때. 주로 검색, 게시판 목록, 데이터 조회 HTTP메세지가가 만들어져서 (GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com) 전달하면 서버에서 받아서 쿼리 파리미터를 가지..

[network] - (4) HTTP 메서드

[HTTP API] 리소스란? 회원이라는 개념 그 자체 리소스 식별 중요!! 등록,수정, 삭제는 배제. => 회원 리소스를 URI에 매핑 요구사항- 회원 정보 관리 API URI 설계 회원 목록 조회 /read-member-list -> 회원 목록 조회 /members 회원 조회 /read-member-by-id -> 회원 조회 /members/{id} 회원 등록 /create-member -> 회원 등록 /members/{id} 회원 수정 /update-member -> 회원 수정 /members/{id} 회원 삭제 /delete-member -> 회원 삭제 /members/{id} URI는 리소스만 식별! 리소스와 해당 리소스를 대상으로 하는 행위을 분리(회원과 조회,등록,삭제,변경을 분리) ->행위..

[network] - (3) HTTP 기본

[HTTP] HyperText Transfer Protocol : 문서간의 링크를 통해서 연결하는 html을 전송하는 프로토콜 거의 모든 형태의 데이터 전송 가능. 클라이언트 서버 구조, 무상태 프로토콜, 비연결성,단순, 확장 가능 [클라이언트와 서버의 구조] 1. 클라이언트와 서버 구조 http는 클라이언트가 http메세지를 통해서 보내고 서버에서 응답이 올때 까지 기다려. 서버가 요청에 대한 결과를 만들어서 응답해 * 클라이언트와 서버를 분리하는게 중요* 비지니스 로직이랑 데이터는 서버에 넣고 클라이언트는 UI와 사용성에 집중-> 클라이언트와 서버가 독립적으로 진화 [Stateful, Stateless] 2. 무상태 프로토콜 서버가 클라이언트 상태를 보존하지 않는다. *Stateful : 상태를 유지..

[network] - (2) URI와 웹 브라우저 요청 흐름

URI (리소스를 식별하는 통합된 방법) URL(리소스의 위치) URN(리소스의 이름) [URI] U : 리소스를 식별하는 통일된 방식(자원 자체를 식별하는 방식) R : URI 로 식별할 수 있는 모든~ 것, 자 I : 식별하는데 필요한 정보 [URL] 리소스가 있는 위치를 지정 [URN] 리소스의 이름을 부여 but거의 사용x -->URI==URL [URL문법] scheme://[userinfo@]host[:port][/path][?query][#fragment] 1. scheme : 주로 프로토콜 사용 ex)http, https, ftp 등 2. userinfo : URL에 사용자 정보를 인증시에 사용하는데 거의 안씀. 3. host : 호스트명으로 도메인 명이나 ip주소를 직접 사용. (ex) w..

[network] (1) - 인터넷 네트워크

모든 html,이미지+ 앱과 서버가 통신할 때 + 서버와 서버가 통신할 때도 http프로토콜 위에서 주고 받음. [ IP ] IP (인터넷 프로토콜): 지정한 IP주소로 메세지를 전달 할 수 있도록 정해놓은 최소한의 규칙, 패킷이라는 단위로 전달. *IP패킷 규칙이란? 나의 IP와 목적지 IP를 적어서 IP 패킷을 만들어서 넣고 메세지를 넣고 인터넷 망에 던지다보면 노드를 통해 목적지 IP 주소까지 도착. 전송 데이터 밖에 나의 ip와 목적지 ip를 만들어서 메세지와 함께 ip패킷을 인터넷 망에 던지면 노드끼리 서로 던지면서 목적지ip까지 도달. IP프로토콜의 한계 socket라이브러리를 통해서 os계층에 메세지를 넘겨, 그러면 os계층에서 메세지에다가 TCP정보를 한번 씌우고 또 한칸 내려서 IP와 관..

springMVC 활용 - (4) 회원관리 웹 애플리케이션

[정리] 클라이언트에서 서버로 원하는 정보를 보낼 때 사용하는 방법 딱 세가지1.get2.post3. http message body 1,2, 번은 서버에서 읽을 떄 request.getparam으로 동일하게 읽을 수 있어 http요청 메세지의 스펙을 편리하게 조회할 수 있도록 하는게 httpServletRequest @Getter @Setter public class Member { private Long id; private String username; private int age; public Member() { } public Member(String username, int age) { this.username = username; this.age = age; } } public class M..

springMVC 활용 - (2) 서블릿 & Request

@ServletComponentScan : 스프링부트에서 서블릿을 사용하려면 스프링이 자동으로 하위 패키 뒤져서 서블릿 찾아서 자동으로 서블릿 등록. @WebServlet() : 서블릿 어노테이션 http요청으로 매핑된 url호출되면 서블릿 컨테이너가 service메서드 실행 servlet은 http를 상속받아 [HelloServlet] @WebServlet(name = "helloServlet",urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override //서블릿 호출되면 서비스메서드 호출 protected void service(HttpServletRequest request, HttpServletResponse ..

springMVC 기본 - (9) 빈스코프

[스코프] - 빈이 존재할 수 있는 범위 프로토타입 스코프 - 싱글톤 스코프의 빈을 조회하면 스프링 컨테이너는 항상 같은 인스턴스의 스프링 빈을 반환한다. 반면에 프로토타입 스코프를 스프링 컨테이너에 조회하면 스프링 컨테이너는 항상 새로운 인스턴스를 생성해서 반환 [싱글톤 스코프] 스프링 컨테이너는 항상 같은 인스턴스의 스프링 빈을 반환 1. 싱글톤 스코프의 빈(memberService)을 스프링 컨테이너에 요청 2. 스프링 컨테이너는 본인이 관리하는 스프링 빈을 반환 3. 이후에 스프링 컨테이너에 같은 요청이 와도 같은 객체 인스턴스의 스프링 빈을 반환 [프로토타입 스코프] 스프링 컨테이너가 항상 새로운 인스턴스 생성해서 반환 1.프로토타입 스코프의 빈(protorypeBean)을 스프링 컨테이너에 요..

1 2 3 4 5 6