반응형

http 9

스프링 MVC - 구조 이해

https://surrealcode.tistory.com/128 MVC 프레임워크 만들기프론트 컨트롤러 패턴 소개https://surrealcode.tistory.com/127 서블릿, JSP, MVC 패턴간단한 웹 애플리케이션을 만들어 보도록 하자.서블릿으로 만든 후 JSP로 개선을 해본 뒤 MVC 패턴을 적용시켜본다. 회surrealcode.tistory.com 스프링 MVC를 이해하기 전에 이전 포스팅에서 직접 만든 MVC 프레임워크를 참고하도록 하자.   스프링 MVC 전체 구조직접 만든 MVC 프레임워크와 스프링 MVC를 비교해보도록 하자.  기존 만들었던 MVC 프레임워크와 사실 스프링MVC 구조는 거의 동일하다(약간 이름에 차이가 있을 뿐) 직접 만든 프레임워크 -> 스프링MVC 비교- Fr..

공부/Spring 2025.03.17

HTTP 헤더2 - 캐시와 조건부 요청

캐시 기본 동작첫번째 요청만약 웹 브라우저에서 star.jpg를 요청하면 서버에서 별과 관련된 그림을 내려줄 것이다.star.jpg의 응답을 내려주는데 실제 이미지와 관련된 바이트코드들이 있을 것이다. 캐시가 없다면, 웹 브라우저에서 다시 star.jpg를 요청했을 때 서버에서 똑같이 별과 관련된 그림을 다시 내려줄 것이다.위 두 그림을 보자. 헤더와 바디부가 똑같은 응답을 동일한 웹 브라우저에 다시 내려주는 것이다. 캐시가 없을 때- 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다.- 인터넷 네트워크는 매우 느리고 비싸다.- 브라우저 로딩 속도가 느리다.- 느린 사용자 경험 --> 캐시를 사용 함으로써 위와 같은 문제를 해결해줄 수 있다. 서버에서 캐시를 적용하였다. ca..

공부/HTTP 2025.01.22

HTTP 헤더1 - 일반 헤더

HTTP 헤더header-field = field-name ":" OWS field-value OWS (OWS : 띄어쓰기 허용) field-name은 대소문자 구분이 없다.  HTTP에서 일반적으로 자주 사용되는 헤더는 다음과 같다HTTP 헤더의 용도- HTTP 전송에 필요한 모든 부가 정보를 담는다.  ex) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등등- HTTP표준 헤더는 종류가 너무 많다.- 필요시 임의의 헤더를 추가 가능하다.  HTTP 헤더 분류 - RFC2616(과거)과거 헤더는 네종류로 분류하였다.- General 헤더 : 메시지 전체에 적용되는 정보, ex) Connection: close- Request 헤더 : 요청 정보..

공부/HTTP 2025.01.21

HTTP 상태 코드

HTTP 상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능- 1xx(Informational) : 요청이 수신되어 처리중- 2xx(Successful) : 요청 정상 처리- 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요- 4xx(Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음- 5xx(Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함  만약 모르는 상태 코드가 나타나면 어떡할까?- 클라이언트가 인식할 수 없는 상태 코드를 서버가 반환하면?- 클라이언트는 상위 상태 코드로 해석해서 처리- 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 된다.ex) 299 ??? -> ..

공부/HTTP 2025.01.20

HTTP 메서드 활용

https://surrealcode.tistory.com/114 HTTP 메서드https://surrealcode.tistory.com/113 HTTP 기본https://surrealcode.tistory.com/112 URI와 웹 브라우저 요청 흐름https://surrealcode.tistory.com/111 요청 흐름을 파악하기 전 이전 포스팅을 참고하자. - URIURI(Uniform Resource Idsurrealcode.tistory.comHTTP 메서드들을 활용하기 전에 이전 포스팅을 통해 HTTP 메서드를 알아보도록 하자.  - 클라이언트에서 서버로 데이터 전송클라이언트에서 서버로 데이터를 어떻게 전송할까?클라이언트에서 서버로 데이터를 전달하는 방식은 크게 2가지 이다. 1. 쿼리 파라미..

공부/HTTP 2025.01.17

HTTP 메서드

https://surrealcode.tistory.com/113 HTTP 기본https://surrealcode.tistory.com/112 URI와 웹 브라우저 요청 흐름https://surrealcode.tistory.com/111 요청 흐름을 파악하기 전 이전 포스팅을 참고하자. - URIURI(Uniform Resource Identifier)URI는 로케이터(Locator), 이름(Nasurrealcode.tistory.comHTTP 메서드를 알아보기 전 이전 포스팅을 참고하자. - HTTP API 메서드를 만들어보자.요구사항은 다음과 같다.회원 정보 관리 API를 만들어라1. 회원 목록 조회2. 회원 조회3. 회원 등록4. 회원 수정5. 회원 삭제 위 요구사항을 기반으로 URI를 만들었다고 가..

공부/HTTP 2025.01.16

HTTP 기본

https://surrealcode.tistory.com/112 URI와 웹 브라우저 요청 흐름https://surrealcode.tistory.com/111 요청 흐름을 파악하기 전 이전 포스팅을 참고하자. - URIURI(Uniform Resource Identifier)URI는 로케이터(Locator), 이름(Name) 또는 둘 다 추가로 분류될 수 있다.URI는 URL, URN보다surrealcode.tistory.com HTTP의 기본 구조를 파악하기 전 이전 포스팅을 참고하도록 하자. - 모든 것이 HTTPHTTP(HyperTextTransferProtocol)최근엔 HTTP 메시지에 모든 것을 담아서 전송한다.1.HTML, TEXT2, Image, 음성, 영상, 파일3. JSON, XML (..

공부/HTTP 2025.01.15

URI와 웹 브라우저 요청 흐름

https://surrealcode.tistory.com/111 요청 흐름을 파악하기 전 이전 포스팅을 참고하자. - URIURI(Uniform Resource Identifier)URI는 로케이터(Locator), 이름(Name) 또는 둘 다 추가로 분류될 수 있다.URI는 URL, URN보다 더 큰 개념이라고 볼 수 있다. URL(Resource Locator) : 리소스의 위치URN(Resource Name) : 리소스의 이름 URI의 단어 뜻Uniform : 리소스를 식별하는 통일된 방식Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음)(html, 파일, 실시간 교통 정보 등 우리가 구분할 수 있는 모든것)Identifier : 다른 항목과 구분하는데 필요한 정보 URL, U..

공부/HTTP 2025.01.14

인터넷 네트워크

- 인터넷 통신인터넷에서 컴퓨터 둘은 어떻게 통신할까?클라이언트PC와 서버의 PC가 아주 먼 곳에 떨어져 있다고 생각해보자,서울에서 뉴욕으로 통신을 해야하는 상황이다.이런 상황에서는 인터넷 망을 통해 통신을 해야 한다. 그런데 이 인터넷 망은 단순하지 않다. 중간에 해저 광케이블이 있을수도 있고, 인공위성을 통해 송수신 할 수 도 있으며, 수많은 중간 노드들을 거쳐 뉴욕에 도착할 수 있다.그럼 대체 어떠한 규칙으로 어떻게 넘어갈까?이걸 이해하려면 IP에 대해 알아야 한다.  - IP(Internet Protocol)이런 복잡한 인터넷 망에서 뉴욕에 있는 사람에서 Hello, world를 보내야 할때 최소한의 규칙이 있어야 한다. 이건 IP 주소를 통해서 가능해진다. 클라이언트인 나와 상대방이 IP 주소를..

공부/HTTP 2025.01.14
반응형