목록HTTP (7)
우당탕탕 개발자 되기
캐시가 없을 때 - 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야한다. - 인터넷 네트워크는 느리고 비싸다. - 브라우저 로딩 속도가 느리다. - 느린 사용자 경험 캐시 적용 -캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. - 비싼 네트워크 사용량을 줄일 수 있다. - 브라우저 로딩 속도가 매우 빠르다. - 빠른 사용자 경험 캐시 시간 초과 -캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다. - 다시 네트워크 다운로드가 발생한다. 아래와 같은 두가지 상황이 발생한다 1. 서버에서 기존 데이터를 변경함. 2. 서버에서 기존 데이터를 변경하지 않음 -> 서버에서 데이터를 변경하지 않았기때문에 데이터를 전송하는 대신 저장해 두었던..
HTTP 헤더 과거 헤더 분류(RFC2616) - Genenral 헤더 : 메시지 전체에 적용되는 정보 - Request 헤더 : 요청 정보 - Response 헤더 : 응답 정보 - Entity 헤더 : 엔티티 바디 정보 - Message Body 는 엔티티 본문을 전달하는데 사용, 엔티티 본문은 요청이나 응답에서 전달할 실제 데이터 - 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공 현재 헤더 - 엔티티 -> 표현(표현 메타데이터 + 표현 데이터) - Message Body 을 통해 표현 데이터 전달 - 표현은 요청이나 응답에서 전달하는 실제 데이터 - 표현 헤더는 표현 데이터를 해석 할 수 있는 정보 제공 표현 헤더는 표현 메타데이터와 페이로드 메시지를 구분해야함. 표현 • Cont..
상태코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 • 1xx (Informational): 요청이 수신되어 처리중 • 2xx (Successful): 요청 정상 처리 • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 2xx(Successful) - 200 : OK (요청성공) - 201 : Created (요청 성공해서 새로운 리소스가 생성됨) - 202 : Accepted (요청이 접수되었으나 처리가 완료되지 않음) - 204 : No Content (서버가 요청을 정..
주요 메서드 - GET : 리소스 조회 - 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)을 통해서 전달 - 메세지 바디를 사용해 데이터를 전달, 지원하지 않는 곳아 많아서 권장 x - POST : 요청 데이터 처리, 주로 등록에 사용 - 요청 데이터 처리 - 메세지 바디를 통해 서버로 데이터 전송, 서버는 요청 데이터를 처리, 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용 요약 : 새 리소스 생성, 요청 데이터 처리, 다른 메서드로 처리하기 애매한 경우 리소스 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리할지 리소스마다 따로 정해야한다. - PUT : 리소스를 대체, 해당 리소스가 없으면 생성 - 클라이언트가 리소스 위치를 알고 URI 지정, 리소스를 ..
HTTP(HyperText Transfer Protocol) 역사 - HTTP/0.9(91년) : GET 메서드만 지원, HTTP 헤더X - HTTP/1.0(96년) : 메서드, 헤더 추가 - HTTP/1.1(97년) : 최근 가장 많이 사용 - HTTP/2 (15년) : 성능 개선 - HTTP/3 진행중 : TCP 대신 UDP 로 대체 특징 - 클라이언트 서버구조 - Request Response 구조 - 클라이언트가 서버에 Request - 서버가 클라이언트에 Response - 무상태 프로토콜 - 서버가 클라이언트의 정보를 유지x - 장점 : 서버 확장성 높음(Scale Out) - 단점 : 클라이언트가 전송하는 데이터 용량이 늘어남 - 모든것을 무상태로 설계할 수 는 없지만 상태유지를 최소한으로만..
URI(Uniform Resource Identifier) - URI 는 Locator(로케이터), Name(이름) or 둘 다 추가로 분류될 수 있다. - URL : Resource Locator, URN : Resource Name URI 의미 - Uniform : 리소스, 식별하는 통일된 방식 - Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음) - Identifier : 다른 항목과 구분하는데 필요한 정보 URL, URN 의미 - URL -Locator : 리소스가 있는 위치를 지정 - URN - Name : 리소스에 이름을 부여 - 위치는 변할 수 있지만, 이름은 불변 - URN 이름만으로 Resource를 찾는 방법은 보편화 x URL 전체 문법 : scheme://[u..
IP(Internet Protocol) 역할 - 지정한 IP 주소에 데이터 전달 - Packet 이라는 통신 단위로 데이터 전달 정보 - 출발지IP, 목적지IP, 기타 ... - 전송데이터 IP 프로토콜의 한계점 - 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 - 비신뢰성 : 전송 중 패킷손실, 순서 변화 등을 제어 불가능 - 프로그램 구분 : 같은 IP를 사용하는 어플리케이션이 2개 이상일때 구분 불가능 인터넷 프로토콜 스택의 4계층 - 어플리케이션 계층(HTTP,FTP) - 전송 계층(TCP, UDP) - 인터넷 계층(IP) - 네트워크 인터페이스 계층 TCP(Transmission Control Protocol) 프로토콜 계층 전송 순서 1. 프로그램이 메시지 생성 -> ..