김영한 http
-
HTTP 8. 캐시와 조건부 요청CS 2021. 1. 8. 10:42
1. 캐시 기본 동작 캐시 미적용 캐시가 없다면 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운 받아야 한다. 인터넷 네트워크는 매우 느리고 비싸다. 브라우저 로딩 속도가 느리다. 느린 사용자 경험 캐시 적용 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 비싼 네트워크 사용량을 줄일 수 있다. 브라우저 로딩 속도가 매우 빠르다. 빠른 사용자 경험 캐시 시간 초과 캐시 유효 시간이 초과하면 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다. 이때 다시 네트워크 다운로드가 발생한다. 2. 검증 헤더와 조건부 요청 헤더 Last-Modified, If-modified-since 캐시 유효 시간이 초과해도, 서버의 데이터가 갱신되지 않으면 304 Not Modifed + 헤..
-
HTTP 6. HTTP 상태코드CS 2021. 1. 7. 14:50
1. HTTP 상태코드 소개 상태코드 ? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리 중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다면 클라이언트는 상위 상태코드로 해석해서 처리한다. 예를 들어 299 ???, 451 ??? -> 이러한 코드는 2xx, 4xx 로 처리한다는 뜻이다. 1xx (Informational..
-
HTTP 5. HTTP 메서드 활용CS 2021. 1. 6. 22:09
1. 클라이언트에서 서버로 데이터 전송 데이터 전달 방식 1. 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터 (검색어) 2. 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 클라이언트에서 서버로 데이터 전송 - 정적 데이터 조회 이미지, 정적 텍스트 문서 조회는 GET 사용 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 - 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터 (검색어) 조회 조건을 줄여주는 필터, 겨로가를 정렬하는 조건에 주로 사용 쿼리 파라미터를 사용해서 데이터를 전달 - HTML FORM 을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 HTML FORM SUBMIT 시 POST 전송 C..
-
HTTP 4. HTTP 메서드CS 2021. 1. 5. 10:46
1. HTTP API 만들기 URL 설계에서 가장 중요한 건 리소스 식별 ! 리소스의 의미가 뭘까 ? 회원을 등록하다 -> 여기서 회원이라는 개념 자체가 바로 리소스이다. 그럼 어떻게 식별하는 게 좋을까 ? 등록, 수정, 조회하는 것들은 모두 배제하고 "회원" 이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI 에 매핑 API URI 설계 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} 계층 구조상 상위 컬렉션으로 보고 복수 단어 사용 권장 ex) member -> members, comment -> comments 가장 중요한 건 URI 는 리소스만 식별하는 것이다. 리..
-
HTTP 3. HTTP 기본CS 2021. 1. 4. 23:58
1. 모든 것이 HTTP ! HTTP (Hyper Text Transfer Protocol) HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대 HTTP 역사 0.9 -> 1.0 -> 1.1 -> 2 -> 3 1.1 버전이 가장 많이 사용되고 가장 중요한 버전이다. 기반 프로토콜 TCP : HTTP/1.1, HTTP/2 UDP : HTTP/3 현재 1.1 주로 사용하고 2, 3 도 점차 증가하고 있다. 특징 클라이언트 서버 구조 무상태 프로토콜, 비연결성 HTTP 메시지 단순함, 확장 가능 2. 클라이언트 서버 구조 Request ..
-
HTTP 2. URI 와 웹 브라우저 요청 흐름CS 2021. 1. 4. 23:03
1. URI (Uniform Resource Identifier) URI 는 Locator, Name 또는 둘 다 추가로 분류될 수 있다. URI Uniform : 리소스 식별하는 통일하는 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 (제한 없음) Identifier : 다른 항목과 구분하는데 필요한 정보 URL : Uniform Resource Locator 리소스가 있는 위치를 지정 URL : Uniform Resource Name 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법은 보편화 되지 않았다. URL 전체 문법 - scheme://[userinfo@]host[:port][/path][? query]..
-
HTTP 1. 인터넷 네트워크CS 2021. 1. 4. 22:30
1. 인터넷 통신 클라이언트 - 서버가 물리적으로 직접 연결되어있으면 요청 -> 응답하면 된다. 하지만 인터넷에선 ? 복잡한 인터넷망의 노드들이 서로 정보를 던져가면서 연결한다. 2. IP (인터넷 프로토콜) 역할 지정한 IP 주소 (IP Address) 에 전달 패킷(Packet) 이라는 통신 단위로 데이터 전달 (패키지라고 생각) 이 IP 패킷이 전송 데이터를 감싸고 있다. IP 패킷 정보에는 출발지 IP, 목적지 IP, etc .. 가 있다. 그러면 클라이언트 IP -> 서버 IP로 데이터를 전송할때는 전송 데이터를 감싼 패킷에는 출발지 ip, 목적지 ip, etc ... 가 담겨있고 인터넷 망속의 노드들에서 이동하면서 서버까지 이동한다. 서버에서 클라이언트로 전달할 때도 마찬가지로 패킷에 전송 데..