HTTP 웹
-
(13) HTTP - HTTP 상태코드HTTP 웹/Http 웹 기본 2021. 6. 30. 11:33
1. 상태코드란? 1-1) 정의 HTTP 응답을 서버에서 받았을 때 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 > 모든 응답 번호 3xx : 요청을 완료하려면 추가 행동이 필요 4xx : 클라이언트 오류, 서버가 요청 수행할 수 없음 5xx : 서버오류, 서버 정상 요청 처리 못할 때 1-2) 상태코드 상위성 정해져 있지 않은 상태코드여도( 새로운 상태코드 ) 백의자리 숫자가 곧 meaning을 가지고, 상위 상태코드로 해석되어 처리됨 ex) 1-3) 상태코드의 사용 (a) 클라이언트 입장 서버에서 클라이언트의 메세지를 받고 응답을 주는 것에 대해서 클라이언트의 처리를 구현하면 됨 (b) 서버 입장 RESTFUL하게 구현하여 적절한 응답을 띄우도록 해야 함, 500번대는 반드시 피하도록..
-
(12) HTTP - HTTP 매서드의 속성HTTP 웹/Http 웹 기본 2021. 6. 26. 18:45
1. HTTP 메서드 속성의 종류 1-1) 속성 종류 안전( Safe Methods ) - 호출/사용해도 리소스를 변경하지 않음 ※ 계속 호출시, db server에 로그같은 것이 쌓여서 장애가 발생하면? - 해당 리소스의 변경여부만 Safe의 scope로 생각 멱등( Idempotent Methods ) - f( f(x) ) = f(x) : 한번 더 호출하여도 결과가 동일하기에, n번 호출도 1번 호출과 결과가 동일한 것이 멱등 - 멱등 메서드 GET : 한번 / n번 조회도 같은 결과가 조회 됨 PUT : 같은 url 절대 경로에 결과를 대체하므로, 최종 리소스의 결과는 같음 DELETE : 같은 url 절대 경로에 결과를 삭제하므로, 최종 리소스의 삭제는 같음 POST : 데이터 + 서버의 Stat..
-
(11) HTTP - HTTP 매서드 - PUT, PATCH, DELETEHTTP 웹/Http 웹 기본 2021. 6. 26. 16:53
1. PUT 1-1) 정의 리소스를 대체하는 메서드 리소스가 있으면 대체 리소스 없을 시 생성 결론 : 리소스 없건 있건, 완전히 덮어쓰는 용도 폴더에 새 파일을 작성하는 것과 동일, 없으면 생성 / 있으면 덮어써짐 > 클라이언트가 리소스를 식별하는 것이 다른점 클라이언트가 리소스 위치를 알고 있음 ( POST는 URI 전체 경로가 아니지만, PUT은 /100까지 인식 ) 1) POST 2) PUT 1-2) 리소스가 있거나 없음 (a) Client가 url 지정하여 데이터를 담아 전달 (b-1) 리소스 있으므로 대체 (b-2) 리소스 없는 경우 1-3) 리소스의 완전한 대체 (a) Client가 url 지정하여 데이터를 담아 전달 (b) 기존 리소스의 대체 > 유저 name 필드가 없어짐 → 완전 대체하..
-
(10) HTTP - HTTP 매서드 - GET, POSTHTTP 웹/Http 웹 기본 2021. 6. 24. 22:46
1. HTTP 메서드란? 1-1) 정의 Client / Server 관계에서 요청할 때 기대하는 행동 양식 > URL(URI)로 resource의 위치와 HTTP매서드로 행동을 분리 > 주요 HTTP 메서드 종류 ※ 주요 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 ※ CRUD 비교 (GPPD) Create = PUT with a new URI POST to a base URI returning a newly created URI Read = GET Update = PUT with an existing URI Delete = DELETE 1-2) 기타 메서..
-
(9) HTTP - HTTP API 만들기/설계HTTP 웹/Http 웹 기본 2021. 6. 22. 21:42
1. API 만들기 example) 회원 정보 관리 API 만들기 ※ CRUD and GPPD Create = PUT with a new URI POST to a base URI returning a newly created URI Read = GET Update = PUT with an existing URI Delete = DELETE 1-1) 요구사항 회원 목록 조회 회원 조회 회원 수정 회원 삭제 1-2) URI 설계 > 안좋은 예시 ( 리소스 식별과 행위가 같이 URI안에 명시되어 있음 ) 1-3) URI 설계 좋은 예시 > 리소스를 기준으로 작성 (a) 리소스의 의미 - 회원을 등록하고 수정하는 것이 아닌 회원이라는 개념 자체가 리소스 (b) 리소스를 식별하는 방법 - 회원을 등록하고 수정하고..
-
(8) HTTP - HTTP 메세지HTTP 웹/Http 웹 기본 2021. 6. 21. 23:38
1. HTTP 메시지 모든 것을 전송 1-1) 정의 Hyper Text Transmission Protocol "말 그대로 text"의 의미 요즘은 범위가 늘어나서 거의 모든 영역에서 HTTP 전송을 사용 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML 거의 모든 형태의 데이터 전송 가능 서버간의 데이터 주고 받을 때도 HTTP사용 지금은 HTTP 시대! 2. HTTP 메세지 구조 > HTTP 요청 / 응답 메세지로 구분 ※ empty line CRLF는 엔터와 비슷(반드시 있어야 함) ※ 요청 메세지의 body도 내용이 있을 수 있음 2-1) HTTP 요청 ※ message body는 없을 수도 있음 (a) 시작 라인 start-line = request-line / status-..
-
(7) HTTP - ConnectionlessHTTP 웹/Http 웹 기본 2021. 6. 19. 19:10
1. 연결 / 비연결성 차이 1-1) 연결 유지 모델 > Connection 유지하려고 주기를 가지고 계속 체크하면 서버 자원 소모 ( Client가 놀고 있어도 자원이 소모가 됨 ) 1-2) 비연결 모델 > 요청이 들어올 때만 연결을 유지함 = Connectionless 최소한의 자원으로 서버 유지 가능 (a) 장점 HTTP는 기본이 연결을 유지하지 않는 모델 일반적으로 초단위 이하의 빠른 속도로 응답 - HTTP가 1시간 동안 수천명이 사용하는 서비스여도 실제 서버에서 동시에 처리하는 요청은 수십개 이하 - 웹브라우저에서 클라이언트의 요청을 한번 처리하면(쿼리 + 페이지 rendering) 클라이언트가 그 웹페이지에서 상당시간동안 시간을 보내기 때문에 비연결방식으로 서버 자원을 효율적으로 서비스 할 ..
-
(6) HTTP - StatelessHTTP 웹/Http 웹 기본 2021. 6. 19. 13:19
1. HTTP 무상태 프로토콜 1-1) 정의 aka. Stateless 라고도 함 ( ※ Stateful과 반대 개념 ) 서버가 클라이언트의 상태를 보존, 기억하지 않는 것을 의미 ※ Stateful, Stateless 차이 1) Stateful ※ 서버 장애시 client는 처음부터 다시 수행해야 함(문맥이 유지되어야 하는데 사라졌으므로) 2) Stateless 컨텍스트 / 문맥없어도 사용가능, client는 매번 필요한 정보 모두 보내줌 → 어떤 서버가 와도 client는 동일하게 느끼기 때문에 서버 Scale-Out에 용이 ※ 서버 장애시 client는 다른 서버로 가서 수행 가능(문맥이 없어도 되므로) 3) Stateful, Stateless차이 상태유지 : 중간에 다른 서버로 바뀌면 안됨 - 바..
-
(5) HTTP - 모든 것이 http / Client Server 구조HTTP 웹/Http 웹 기본 2021. 6. 15. 20:00
1. HTTP란? 1-1) 정의 HyperText Transfer Protocol 1-2) 주고 받는 종류 지금은 HTTP 시대 HTML, Text Image, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 1-3) HTTP 역사 HTTP 1.1이 제일 중요 기반 프로토콜(Scheme) TCP : HTTP/1.1, HTTP/2 UDP : HTTP/3 ※ 현재는 주로 1.1 버전 사용 1-4) HTTP 특징 클라이언트-서버 구조 무상태 프로토콜(Stateless), 비연결성 HTTP 메세지 단순함, 확장이 매우 용이 2. 클라이언트-서버 구조 2-1) 정의 Request, Response 구조 클라이언트(브라우저 o..
-
(4) URI & 웹브라우저 요청 흐름 - URI, 웹브라우저 요청 흐름HTTP 웹/Http 웹 기본 2021. 6. 14. 14:39
1. URI 란? 1-1) 정의 a) 의미 Uniform Resource Identifier 라는 의미로 리소스를 식별하는 통합된 방법이라는 의미 Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음) - URI로 식별할 수 있는 모든 정보를 리소스라고 함 ( file / html 등등... ) Identifier : 다른 항복과 구분하는 데 필요한 정보 b) URI와 하위 개념 URI는 URL / URN을 포함하는 개념 URL - Locator, 리소스가 있는 위치를 지정 - URI == URL 의 개념으로 봐도 됨 URN - Name, 리소스에 이름을 부여 - 이름만으로 리소스를 찾는 방법이 보편화 되지 않았음 1-2) URL / URN..