본문 바로가기

전체 글

(44)
TCP/IP TCP/IP인터넷 프로토콜 스위트(Internet Protocol Suite)인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜(통신규약)의 모음TCP와 IP가 가장 많이 쓰이므로 TCP/IP 프로토콜 스위트라고도 부른다.패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있다.IP는 패킷 전달 여부를 보증하지 않고 패킷을 보내고 받는 순서가 다를 수 있고TCP는 IP 위에서 동작하는 프로토콜로 데이터의 전달을 보증하며 보낸 순서대로 받는다.IP 주소 체계를 따르고 IP Routing을 이용해 목적지에 도달하며 TCP 특성을 활용해 송/수신자의 논리적 연결을 생성하고 신뢰성을 유지할 수 있도록 한다.즉, 송신자가 수신자에게 IP 주소를 사용하여 데이터를 전달하고 ..
HTTP(HyperText Transfer Protocol) and HTTP Headers HTTP(HyperText Transfer Protocol) and HTTP Headers 클라이언트와 서버가 웹에서 이미지, 텍스트, 오디오 등의 파일과 같은 데이터를 주고받을 때 지켜야하는 규칙무상태성(Stateless) : 모든 HTTP 요청들은 현재 요청 직전에 어떤 요청들이 실행됐는지에 대한 정보가 없어, 독립적으로 실행된다. 즉, 트랜잭션이 종료되면 브라우저와 서버의 연결이 끊어진다.HTTP 요청과 응답의 구조HTTP는 요청과 응답으로 이루어진다.메시지는 시작(상태) 부분, 헤더(header), 빈 줄(blank line), 바디(body)로 구성된다.- 시작 부분(요청) : HTTP 메서드, 요청 타겟, HTTP 버전 - 상태 부분(응답) : HTTP 버전, HTTP 응답 코드 및 메시지- ..
Web Server vs WAS(Web Application Server) Web Server vs WAS(Web Application Server) Web Server① 개념 하드웨어: Web Server가 설치되어 있는 컴퓨터소프트웨어: 클라이언트(웹 브라우저)로부터 HTTP 요청을 받아 정적인 컨텐츠(html, jpg, css 등)를 제공하는 컴퓨터 프로그램EX. Apache Server, Nginx, IIS(Windows 전용) 등② 기능 HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스한다.독립적으로 동작하는 경우- 정적인 컨텐츠(html, jpg, css 등)를 바로 제공한다.WAS 안에서 동작하는 경우- 동적인 컨텐츠 제공을 위한 요청을 WAS에 전달한다.- WAS가 처리한 결과를 클라이언트에게 전달(응답)한다.WAS(Web Application Serv..
[Spring] @RequestBody vs @RequestParam @RequestBody vs @RequestParam@RequestBodyJSON 형식의 데이터로 받는다.변수명 상관없이 단일 데이터(Map, Object)로 받는다.@RestController@RequestMapping(value = "/test")public class TestController { @RequestMapping(value = "/testRequestBody", method = RequestMethod.POST) public void testRequestBody(@RequestBody String param) { System.out.println("param : " + param); System.out.println("text : " + param.get("TEXT")); }..
[Spring] @Controller VS @RestController @Controller VS @RestController Spring에서 Controller를 지정해주는 어노테이션이다.Response Body가 생성되는 방식에서 차이점을 가진다.@Controller ① Controller에서 View를 반환하는 경우 클라이언트에서 요청을 보내면 DispatcherServlet을 거쳐 HandlerMapping으로 Controller를 찾는다.요청 처리 후 View Name을 반환한다.DispatcherServlet이 ViewResolver를 통해 View Name에 해당하는 View를 찾아 반환한다.@Controller@RequestMapping("/menu")public class MenuController { private final MenuService me..