HTTP 웹 기본 지식 7

[HTTP 웹 기본 지식] 섹션 6. HTTP 상태코드

6.1 HTTP 상태코드 소개 상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1) 1xx (Informational): 요청이 수신되어 처리중 (거의 사용하지 않음) 2) 2xx (Successful): 요청 정상 처리 3) 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4) 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5) 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 이때 만약 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다고 가정해보자. 이러한 상황에서는 클라이언트는 상위 코드로 해석하여 처리하면 된다. 예) 299 ??? -> 2xx (Succes..

[HTTP 웹 기본 지식] 섹션 5. HTTP 메서드 활용

5.1 클라이언트에서 서버로 데이터 전송 클라이언트에서 서버로의 데이터 전달 방식 2가지 1) 쿼리 파라미터를 통한 데이터 전송 : GET : 주로 정렬 필터 (검색어) 2) 메시지 바디를 통한 데이터 전송 : POST, PUT, PATCH : 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 클라이언트에서 서버로의 데이터 전송 4가지 상황 1) 정적 데이터 조회 : 이미지, 정적 텍스트 문서 : 쿼리 파라미터를 사용하지 않고, 리소스 경로로 단순하게 조회 (조회 GET 사용) 2) 동적 데이터 조회 : 주로 검색, 게시판 목록에서 정렬 필터(검색어) : 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 : 조회는 GET 사용 (GET은 쿼리 파라미터 사용해서 데이터를 전달) 3..

[HTTP 웹 기본 지식] 섹션 4. HTTP 메서드

4.1 HTTP API 를 만들어보자 요구사항 - 회원 정보 관리 API URI 설계 - 회원 목록 조회 /read-member-list - 회원 조회 /read-member-by-id - 회원 등록 /create-member - 회원 수정 /update-member - 회원 삭제 /delete-member 이렇게 작성한 것이 좋은 URI 설계일까? 가장 중요한 것은 리소스를 식별하는 것이다. API URI 고민 - 리소스의 의미는 뭘까? - 회원을 등록하고 수정하고 조회하는게 리소스가 아니다! 예) 미네랄을 캐라 -> 미네랄이 리소스 회원이라는 개념 자체 = 리소스다. - 리소스를 어떻게 식별하는게 좋을까? • 회원을 등록하고 수정하고 조회하는 것을 모두 배제 • 회원이라는 리소스만 식별하면 된다. -..

[HTTP 웹 기본 지식] 섹션 3. HTTP 기본

3.1 모든 것이 HTTP (HyperText Transfer Protocol) HTTP 메시지에 모든 것을 전송 - HTML, TEXT - IMAGE, 음성, 영상, 파일 - JSON, XML (API) - 거의 모든 형태의 데이터 전송 가능 - 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용 (TCP를 직접 연결하는 경우는 거의 없음) HTTP 역사 - HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X - HTTP/1.0 1996년: 메서드, 헤더 추가 - HTTP/1.1 1997년: 가장 많이 사용, 가장 중요한 버전 (대부분의 기능이 들어 있음) 개정 : RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014) - HTTP/2 ..

[HTTP 웹 기본 지식] 섹션 2. URI와 웹 브라우저 요청 흐름

2.1 URI (Uniform Resource Identifier) : 소스를 식별하는 통합된 방법 URI? URL? URN? 의 차이는 무엇일까? URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. 1) URI : 리소스를 식별하는 가장 큰 개념이다. 2) URL : 리소스의 위치를 알려준다. 3) URN : 리소스의 이름 우리가 흔히 웹 브라우저에서 사용하는 주소는 URL이다. 이때 URN은 리소스의 이름을 부여하는 것이다 URI (Uniform Resource Identifier) 단어 뜻 - Uniform: 리소스 식별하는 통일된 방식 - Resource: 자원, URI로 식별할 수 있는 모든 것 (제한이 없음) - Identifier: 다른 항목과 구분하는데..

[HTTP 웹 기본 지식] 섹션 1. 인터넷 네트워크

1.1 인터넷 통신 인터넷에서 두 대의 컴퓨터는 어떻게 통신할까? 만약 클라이언트와 서버가 가까이 있다면, 단순히 케이블을 연결하여 통신할 수 있을 것이다. 하지만 메시지를 전달해야하는 PC가 매우 멀리 있는 상황이라면, 인터넷 망을 통해서 'Hello, world!' 라는 메시지를 보내야 한다. 클라이언트가 보낸 메시지는 해저 광 케이블, 인공위성과 같은 수 많은 중간 노드들을 거쳐 서버로 전송된다. 그렇다면 메시지는 복잡한 인터넷 망에서 어떻게 목적지까지 안전하게 도착할 수 있는 것일까? 1.2 IP (인터넷 프로토콜) 복잡한 인터넷 망에서 메시지를 안전하게 보내려면, 최소한의 규칙이 필요할 것이다. 이는 IP 주소를 통해 가능해진다. 클라이언트가 서버에 메시지를 전송하는 상황이라고 가정해보자. 1)..

[HTTP 웹 기본 지식] 섹션 0. HTTP를 공부하게 된 이유 / 강의 소개

HTTP 를 공부하게 된 이유 3학년 1학기, 정보통신공학 수업에서 인터넷 프로토콜의 각 계층에 대해 공부하게 되었다. 아날로그 신호가 디지털 신호로 변환되어 지구 반대편으로 이동하는 과정을 배우는 것은, 너무나 신기하고 흥미로웠다. 하지만 네트워크에 집중된 수업이다 보니 HTTP에 대해서 깊이 있게 배우지 못한 아쉬움이 컸다. 또한 스프링 핵심 원리 강의를 들으며, 백엔드 개발 공부를 위해서는 HTTP에 대한 보다 깊은 이해가 필요하다고 느꼈고, 'HTTP 웹 기본 지식' 강의를 기반으로 스터디를 진행 하게 되었다. 강의 소개 [모든 개발자를 위한 HTTP 웹 기본 지식] 앱과 서버가 통신할 때에도, 웹 프레임워크를 사용할 때에도 모두 HTTP 기술이 사용된다. 따라서 모바일 앱, 웹 프론트엔드, 백엔..