CS 과목(CS科目)/네트워크(ネットワーク) 썸네일형 리스트형 4xx클라이언트 오류, 5xx 서버 오류 4xx 오류와 5xx 오류의 차이점4xx 오류 : 재요청을 하더라도 정상 처리 영구히 불가능-> 클라이언트에서 잘못된 요청을 한 것이기에 아무리 재요청을 한다고 하더라도 처리가 불가(클라이언트에서 수정 후 다시 재요청을 해야 한다)5xx 오류 : 재요청을 했을 때 정상 처리가 될 가능성이 있다.-> 클라이언트에서 요청을 보냈는데 그때 하필 DB 서버에서 장애가 발생을 하였다. 이때에는 정상 처리가 불가능하다. 그러나 시간이 지나 DB 서버를 원상 복구된 후에 재요청을 하면 정상 처리가 된다. 서버에서는 왠만하면 5xx 코드를 클라이언트에게 전달하도록 코딩하면 x (강의 7:50)-> 진짜로 서버에서 문제가 터졌을 때에만 5xx를 던져야 한다. 예를 들어 클라이언트에서 API 스펙에 잘 맞추어 요청을 보.. 더보기 HTTP API 설계 예시(모든 개발자를 위한 HTTP 기본 지식,Feat PATCH vs PUT vs POST) 강의 4:50[수정] API의 HTTP 메서드는 되도록이면 PATCH를 사용PUT의 경우 기존 리소스를 아예 덮어 버리기 때문에 리소스의 항목 중 일부 항목에 대한 수정 정보를 넣지 않게 되면그 항목이 전부 날라가게 된다. 그러나 수정 중에서도 일부 수정이 아니라 전체 수정을 하는 경우에는 PUT을 사용하는 것이 더 적합예를 들어, 게시글 같은 경우에는 부분 수정이 아니라 대부분의 경우 전체 수정이기 때문이다. PATCH와 PUT 둘다 사용하기에는 애매한 상황에서는 POST를 사용!! PUT 등록과 POST 등록의 차이(강의 5분 55초)회원 등록 : /members -> POST-> 클라이언트는 회원의 리소스 위치를 모르고, 서버에서 회원 리소스를 등록하고 그 위치를 서버에서 생성회원 등록 : /mem.. 더보기 HTTP 메서드의 속성(FEAT. 캐싱) 실무에서는 GET, HEAD 정도만 캐싱을 한다. 왜냐면 GET은 URL만을 가지고 Key값으로 만들면 되는데, POST 등은 메시지 BODY 안의 내용까지 이용하여 키값을 만들어야 하기 때문이다. . 더보기 HTTP 메서드(PUT vs POST) PUT vs Post-> Post는 "서버"에서 리소스의 위치를 알고 있지만, PUT은 "클라이언트"가 알고 있어야 한다. EX) POST /members : 서버에 신규 회원 리소스를 등록(리소스의 등록 위치는 서버가 결정!!) PUT /members/100 : 클라이언트가 리소스의 위치(100)을 이미 알고 있다.(혹은 리소스가 등록될 위치를 클라이언트가지정 가능) *PATCH 메서드는 일부 서버에서는 지원이 안 된다고 한다. 그런 경우에는 POST 메서드 사용을 권장! 더보기 비연결성,Connectionless(모든 개발자를 위한 HTTP) 비연결성(Connectionless) : 대단한 것은 아니고, 클라이언트가 요청을 보내고 그에 대한 응답을 보내는 즉시 연결(주로TCP연결)을 끊어 버리는 것을 뜻함-> 비연결성(Connectionless)의 장점은 여러 클라이언트와 HTTP 통신을 맺을 때 서버의 네트워크 관련 리소스를 매우 효율적으로 관리할 수 있기 때문이다. 이러한 비연결성(Connectionless) 덕분에 대규모 트래픽을 처리할 수 있는 것이다. 일반적으로 초 단위 이하의 빠른 속도로 응답이 이루어 진다.그리고 [정확히 동시에]에 웹 요청이 들어오는 경우는 수십 명이 안 된다(그래서 1시간 동안 수천명이 서비스를 사용해도실제 서버에서 [동시에] 처리하는 요청은 수십개 이하로 매우매우 작음).또한 우리는 웹 브라우저에서 계속 연.. 더보기 HTTP(모든 개발자를 위한 HTTP 웹 기본 지식) HTTP/1.1 : 현재 가장 많이 사용 중인 HTTP 버전(크롬은 이미 UDP 기반의 HTTP/3.0을 쓰고 있다)HTTP 특징1] 클라이언트 서버 구조2] 무상태 프로토콜(Stateless), 비연결성-> 상태(Stateful) 유지 프로토콜 : 중간에 다른 서버로 바뀌면 안 된다는 약속(만약 바꾸게 되면 중간에 다른 서버로 바뀔 때마다 그 서버에게 상태 정보를 다 전달해야 하는 치명적인 문제점이 있다)-> 무상태(Stateless) 프로토콜 : 중간에 얼마든지 다른 서버로 바뀌어도 된다.(애초에 클라이언트가 서버에게 요청을 할 때 HTTP 요청에 서버가 필요한 모든 데이터를 담아서 보낸다. 고로, 서버가 중간에 셧다운이 되어도 서버가 필요로 하는 모든 데이터를 담은 해당 요청을 다른 서버에게 보내어.. 더보기 TCP/UDP(모든 웹 개발자를 위한 HTTP) [TCP/UDP 프로토콜 강의 메모] IP 프로토콜의 한계 -> 아래의 TCP가 필요한 이유와 연결지어서 생각!!! TCP의 역할(IP 프로토콜의 한계를 극복해준다,대부분의 애플리케이션에서 TCP 사용) 1. IP(목적지 컴퓨터) 주소의 컴퓨터가 네트워크 통신을 할 준비가 돼 있는 지 [연결성 보장(연결 지향적)] -> 3way handshake -> 가상 연결 : 물리적 연결이 아닌 개념적 연결 클라이언트와 서버 사이에는 수 많은 노드들(라우터들)이 있다. 이 라우터들은 클라이언트와 서버 사이의 데이터 전송로를 만들어 놓지 않기 때문에 물리적으로 연결돼 있다고 말할 수 없다. (옛날에는 전화 교환원이 전화선 PORT를 직접 꽂음으로서 물리적인 연결로 통신을 했다) 2. 전송 [패킷의 순서를 보장] .. 더보기 SSL Protocol의 구체적 동작 방식 결론부터 말하면 SSL은 암호화된 데이터를 전송하기 위해서 공개키와 대칭키를 혼합해서 사용한다. ( 공개키는 사실 상당한 컴퓨팅 파워를 필요로 한다 고로, 공개키만을 사용하지 않고, 대칭키와 혼합을 하여 사용) 즉 클라이언트와 서버가 주고 받는 실제 정보는 대칭키 방식으로 암호화하고, 대칭키 방식으로 암호화된 실제 정보를 복호 화할 때사용할 대칭키는 공개키 방식으로 암호화해서 클라이언트와 서버가 주고 받는다. 이 설명만으로는 이해하기 어려울 것이다. 아래의 관계만 일단 머리속에 기억해두고 좀 더 구체적인 설명으로 넘어가자.(아래에서 자세히 설명함) 실제 데이터(비밀번호 등..) : 대칭키로 암호화를 해서 전송하고, 같은 대칭키로 복호화를 한다. (클라이언트, 서버는 대칭키를 공유하고 있어야 한다) 대칭키.. 더보기 이전 1 2 3 4 5 다음