network 7

[network] - (8) HTTP 헤더2 : 캐시와 조건부 요청

[캐시 기본 동작] • 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 됨 • 인터넷 네트워크는 매우 느리고 비쌈 • 브라우저 로딩 속도가 느림 • 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 됨 • 비싼 네트워크 사용량을 줄일 수 있음 • 브라우저 로딩 속도가 매우 빠름 • 빠른 사용자 경험 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신. 다시 네트워크 다운로드가 발생 캐시 유효 시간 초과해서 서버에 다시 요청하면 1. 서버에서 기존 데이터를 변경함 2. 서버에서 기존 데이터를 변경하지 않음->다시 받기 아까워 ->[검증헤더와 조건부 요청] 캐시 만료후에도 서버에서 데이터를 변경하지 않으면 데이터를 전송하는 대신에 저장해 두었던 캐..

[network] - (7) HTTP 헤더1 : 일반 헤더

[HTTP 헤더] header -필드= field이름 ":" OWS field-value OWS HTTP헤더 용도 - HTTP 전송에 필요한 모든 부가정보를 담아. 헤더 분류(과거) • General 헤더: 메시지 전체에 적용되는 정보, ex) Connection: close • Request 헤더: 요청 정보, ex) User-Agent: Mozilla/5.0 (Macintosh; ..) • Response 헤더: 응답 정보, ex) Server: Apache • Entity 헤더: 엔티티 바디 정보, ex) Content-Type: text/html, Content-Length: 3423 메시지 본문(message body)은 엔티티 본문(entity body)을 전달하는데 사용 엔티티 본문은 요청이..

[network] - (6) HTTP 상태코드

[상태코드] 클라이언트가 서버에 요청을 보내면 그 요청이 잘 처리가 됐는지 http response가 올 때 알려주는 기능 • 1xx (Informational): 요청이 수신되어 처리중 • 2xx (Successful): 요청 정상 처리 200,201, • 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 클라이언트가 서버에 요청하면 추가적인 조치가 필요해 클라에 다시 돌려보내 • 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 • 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 [2xx] - 성공 201 - 클라이언트가 요청한것을 서버쪽에서 리소스 생성. post로 등록했을 때 201 - 자원이..

[network] - (4) HTTP 메서드

[HTTP API] 리소스란? 회원이라는 개념 그 자체 리소스 식별 중요!! 등록,수정, 삭제는 배제. => 회원 리소스를 URI에 매핑 요구사항- 회원 정보 관리 API URI 설계 회원 목록 조회 /read-member-list -> 회원 목록 조회 /members 회원 조회 /read-member-by-id -> 회원 조회 /members/{id} 회원 등록 /create-member -> 회원 등록 /members/{id} 회원 수정 /update-member -> 회원 수정 /members/{id} 회원 삭제 /delete-member -> 회원 삭제 /members/{id} URI는 리소스만 식별! 리소스와 해당 리소스를 대상으로 하는 행위을 분리(회원과 조회,등록,삭제,변경을 분리) ->행위..

[network] - (3) HTTP 기본

[HTTP] HyperText Transfer Protocol : 문서간의 링크를 통해서 연결하는 html을 전송하는 프로토콜 거의 모든 형태의 데이터 전송 가능. 클라이언트 서버 구조, 무상태 프로토콜, 비연결성,단순, 확장 가능 [클라이언트와 서버의 구조] 1. 클라이언트와 서버 구조 http는 클라이언트가 http메세지를 통해서 보내고 서버에서 응답이 올때 까지 기다려. 서버가 요청에 대한 결과를 만들어서 응답해 * 클라이언트와 서버를 분리하는게 중요* 비지니스 로직이랑 데이터는 서버에 넣고 클라이언트는 UI와 사용성에 집중-> 클라이언트와 서버가 독립적으로 진화 [Stateful, Stateless] 2. 무상태 프로토콜 서버가 클라이언트 상태를 보존하지 않는다. *Stateful : 상태를 유지..

[network] - (2) URI와 웹 브라우저 요청 흐름

URI (리소스를 식별하는 통합된 방법) URL(리소스의 위치) URN(리소스의 이름) [URI] U : 리소스를 식별하는 통일된 방식(자원 자체를 식별하는 방식) R : URI 로 식별할 수 있는 모든~ 것, 자 I : 식별하는데 필요한 정보 [URL] 리소스가 있는 위치를 지정 [URN] 리소스의 이름을 부여 but거의 사용x -->URI==URL [URL문법] scheme://[userinfo@]host[:port][/path][?query][#fragment] 1. scheme : 주로 프로토콜 사용 ex)http, https, ftp 등 2. userinfo : URL에 사용자 정보를 인증시에 사용하는데 거의 안씀. 3. host : 호스트명으로 도메인 명이나 ip주소를 직접 사용. (ex) w..

[network] (1) - 인터넷 네트워크

모든 html,이미지+ 앱과 서버가 통신할 때 + 서버와 서버가 통신할 때도 http프로토콜 위에서 주고 받음. [ IP ] IP (인터넷 프로토콜): 지정한 IP주소로 메세지를 전달 할 수 있도록 정해놓은 최소한의 규칙, 패킷이라는 단위로 전달. *IP패킷 규칙이란? 나의 IP와 목적지 IP를 적어서 IP 패킷을 만들어서 넣고 메세지를 넣고 인터넷 망에 던지다보면 노드를 통해 목적지 IP 주소까지 도착. 전송 데이터 밖에 나의 ip와 목적지 ip를 만들어서 메세지와 함께 ip패킷을 인터넷 망에 던지면 노드끼리 서로 던지면서 목적지ip까지 도달. IP프로토콜의 한계 socket라이브러리를 통해서 os계층에 메세지를 넘겨, 그러면 os계층에서 메세지에다가 TCP정보를 한번 씌우고 또 한칸 내려서 IP와 관..

1