네트워크
-
HttpClient 기초네트워크 2023. 4. 30. 12:11
처음 api에서 데이터를 가져올 때는 URLConnection/HttpURLConnection 를 사용했다 문제는 api에서 여러 번 데이터를 가져오고 싶고 그 session이 유지되기를 원했을 때 발생했다 URLConnection은 connection 한번에 한 번의 통신만 가능했고 open > 코드 작성 > close 이 과정이 필수적이었다 코드 작성 속에서 또 api를 호출할 수 없었다... 그래서 URLConnection을 버리고 HttpClient를 사용하기로 했다 1. HttpClient : Apache HTTP 컴포넌트 1) client side 동작을 구현한 라이브러리 > 서버에게 http request 던지고 http response 받을 수 있다 2) http 명령어에 따른 클래스 제공..
-
[HTTP] bearer 키워드는 뭘까?네트워크 2023. 4. 20. 13:15
chatgpt api를 가져와서 사용하기 위해 코드를 짰는데 response로 400이 넘어왔다 > Server returned HTTP response code: 400 for URL: > "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You..
-
모든 개발자를 위한 HTTP 웹 기본 지식 후기네트워크 2022. 11. 29. 14:59
강의를 구매한 지 1~2년 만에 드디어 완강했다. 약 1주일만 투자하면 되는거였는데 왜 이렇게 오래 걸렸는지. 처음 강의를 볼 때는 자바 언어에 대한 기초 지식만 가지고 있었다. 그래서 HTTP가 아예 처음이었고 그래서 더 어려웠다. 그냥 조금 이해하고 외워야 하나 보다? 는 느낌이어서 중간까지 듣고 포기했었다. 국비 교육이 끝났고 스프링 프레임워크로 프로젝트를 하고 나니 동작 원리에 대해 알아야겠다는 필요성을 느꼈다. 그러다 이 강의가 생각났고 처음부터 다시 보니까 그때는 보이지 않았던 것들이 보이기 시작했다. 물론 뒷부분은 아직도 생소하고 잘 모르겠다. 이 부분도 내가 더 공부해 보다 보면 아 그때 그랬지 그럴 것 같다. 수강 기한이 무제한이니까 나중에 까먹을 때쯤 뒷부분만 다시 한번 봐야겠다. 아예..
-
HTTP 인프런 강의 정리 (5)네트워크 2022. 11. 28. 22:01
모든 개발자를 위한 HTTP 웹 기본지식 HTTP 헤더2 - 캐시와 조건부 요청 1. 캐시 기본 동작 1) 캐시가 없을 때 1-1) 첫 번째 요청 1-2) 두 번째 요청 - 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. - 인터넷 네트워크는 매우 느리고 비싸다. - 브라우저 로딩 속도가 느리다. - 느린 사용자 경험 2) 캐시 적용 2-1) 첫 번째 요청 2-2) 두 번째 요청 - 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. - 비싼 네트워크 사용량을 줄일 수 있다. - 브라우저 로딩 속도가 매우 빠르다. - 빠른 사용자 경험 2-3) 세 번째 요청 - 캐시 시간 초과 - 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신..
-
HTTP 인프런 강의 정리 (4)네트워크 2022. 11. 26. 23:58
모든 개발자를 위한 HTTP 웹 기본지식 HTTP 상태 코드 1. HTTP 상태 코드 소개 상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 - 1xx (Information) : 요청이 수신되어 처리 중 - 2xx (Successful) : 요청 정상 처리 - 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 - 4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 - 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 Q. 만약 모르는 상태 코드가 나타나면? - 클라이언트가 인식할 수 없는 상태 코드를 서버가 반환하면? > 클라이언트는 상위 상태 코드로 해석해서 처리 > ..
-
HTTP 인프런 강의 정리 (3)네트워크 2022. 11. 24. 20:39
모든 개발자를 위한 HTTP 웹 기본지식 HTTP 메서드 1. HTTP API 만들어보자 좋은 URI? >> 가장 중요한 것은 리소스 식별 - 리소스의 의미는? >> 회원을 등록하고 수정하고 조회하는 것이 리소스가 아니다. >> 예) 미네랄 캐기 : 리소스 = 미네랄 >> 회원이라는 개념 자체가 바로 리소스 - 리소스는 어떻게 식별? >> 회원을 등록하고 수정하고 조회하는 것을 모두 배제 >> 회원이라는 리소스만 식별하면 된다. > 회원 리소스를 URI에 매핑 - 리소스 식별, URI 계층 구조 활용 > 조회, 등록, 수정, 삭제 구분은 어떻게? 리소스와 행위를 분리 > 가장 중요한 것은 리소스를 식별하는 것 - URI는 리소스만 식별 - 리소스와 해당 리소스를 대상으로 하는 행위를 분리 > 리소스: 회..
-
HTTP 인프런 강의 정리 (2)네트워크 2022. 11. 23. 22:02
모든 개발자를 위한 HTTP 웹 기본지식 HTTP 기본 1. 모든 것이 HTTP HTTP (HyperText Transfer Protocol) (HTTP 메시지에 모든 것을 전송) - HTML, TEXT - IMAGE, 음성, 영상, 파일 - JSON, XML (API) - 거의 모든 형태의 데이터 전송 가능 - 서버간에 데이터를 주고받을 때도 대부분 HTTP 사용 - 지금은 HTTP 시대 HTTP 역사 - HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 x - HTTP/1.0 1996년: 메서드, 헤더 추가 - HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 - HTTP/2 2015년: 성능 개선 - HTTP/3 진행중 : TCP 대신에 UDP 사용, 성능 개..