전체 글
-
HTTP 완벽 가이드 20장 리다이렉션과 부하 균형Web Dev/7. 네트워크 2021. 3. 13. 20:53
이장은 상당히 어려운 느낌이다. 그래서 조금이라도 이해한 무언가를 메모해보려고 한다. 두번째 읽을때 이해해보자~! 리다이렉션이란 최적의 분산된 콘텐츠를 찾는 것을 도와주는 기법의 집합 서버, 프락시, 캐시, 게이트웨이가 모두 공통적으로 서버의 특성을 갖고 있기 때문에, 많은 리다이렉션 기법이 그들 모두에서 동작한다. 하지만 어떤 리다이렉션 기술들은 특정 종류의 종단만을 위해서 설계되어있기도 하다. 웹서버는 IP별로 요청을 다룬다. 똑같이 복제된 서버들로 요청을 분산한다는것은 같은 URL에 대해 여러 곳에서 온 요청들을 각각 최적의 웹서버로 보내겠다는 것 DNS 리다이렉션이란게 있다. 클라이언트의 네트워크에 있는 DNS 서버가 있고, DNS 서버는 하나의 도메인에 여러 아이피 주소를 달수가 있다. 그래서 ..
-
-
HTTP 완벽 가이드 18장 웹호스팅Web Dev/7. 네트워크 2021. 3. 7. 19:25
웹호스팅이란? 컨텐츠 리소스를 저장, 중개, 관리하는 일을 통틀어 웹호스팅이라 함 가상 호스팅을 할때 HTTP/1.0 기준으로는 설계 관련 결함이 있어,공용 웨서버에 여러개의 사이트가 있다면 어떤 GET /index.html 이렇게 요청이 왔을때, 이중 어느 서비스에 요청을 하는지 알수가 없다. 이 문제는 네가지 방법으로 해결한다 HTTP/1.1에서 Host 요청 헤더 정의 URL 경로를 통한 가상 호스팅(별로라 잘안씀) 포트번호를 통한 가상 호스팅(이것도 좀 그럼) IP 주소를 통한 가상 호스팅(그나마 좋음) 호스팅 업자가 IP주소 여러개를 하나의 장비에 연결하는 것 근데 IP 갯수가 제한이 있고, 수백 수천개의 가상 사이트를 포함하는 공용서버를 제공하기에 부족하다. ㄱ 안정적인 웹사이트 만들기 장애가..
-
JWT 란?Web Dev/8. 메모 2021. 3. 5. 23:22
1. JWT는 Authorization을 위한 것이다. Authentication을 위한 것이 아니라. - Authenticate는 유저네임과 패스워드를 받아서 이게 맞는지 확인하는 것을 말하는 것이다. (로그인 하는 것을 생각) - Authorization은 지금 요청하는 사람이 어떤 리소스에 접근이 가능한지를 verify 하는 것이다. 2. 원래 Authorization을 위해서는 Session을 사용했다. 로그인할때(Authentication할때), response에 set-cookie헤더를 사용해서 Session id를 보내놓고, User가 요청할때, 무조건 session id쿠키를 같이 보내서, 이 쿠키값이 서버의 메모리든 뭐든에 저장되어있던 session 값과 일치하는지 확인하고, 이 user..
-
이미지 처리에 대한 고찰 - 어렵다, 나만 그런건가? Gatsby와 함께!Web Dev/5. Projects 2021. 3. 2. 23:45
이미지를 처리하는 방법을 고민하게 된 이유 css파일은 네이버같이 큰 회사도 파일의 사이즈가 이미지 하나정도밖에 되지 않는다고하고, 많은 사람들이 페이지가 느리거나 트래픽이 문제가 되는건 대부분 이미지때문일거라고 해서 이미지를 어떻게 처리해야하는건지 고민하게 되었다. 그리고 HTTP 요청관련해서 img는 그냥 img태그만 넣어도 브라우저가 알아서 요청을 받아오고 그러는데, img request할때 헤더는 어떻게 처리가 되는건지? 하는 것도 모르겠고 response에 cache관련 설정을 할 수 있다는데 대체 뭐지...? 하는 복잡한 생각이 들었다. 그리고 반응형으로 페이지를 만들어야하는데 이미지는 텍스트처럼 fluid하지가 않아서 크기도 좀 이상하고 그래서 img 관련해서 좀 딥다이브 해보기로 했다.(이..
-
c++ 공백없이 붙어있는 숫자 입력 하나씩 받기, 공백이 포함된 문자열 한줄 다 받기, 공백이 없는 문자열 입력받아서 char배열에 넣기old/Algorithm 2021. 3. 1. 11:13
C/C++ 에서 숫자 배열에 하나씩 입력받기 #include using namespace std; int main (){ int input[100]; for(int i=0; i> arr[i]; } 출처 2. shjz.tistory.com/96 [C++] 공백이 포함된 문자열 입력받기(char array, string : getline) C, C++에서 입력을 받을 때 "공백이 포함된 문자열"을 입력받는 법을 소개한다. Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include using namespace std; int main(){.. shjz.tistory.com
-
HTTP 완벽 가이드 15장 엔터티와 인코딩Web Dev/7. 네트워크 2021. 2. 28. 15:56
HTTP는 매일 수십억 개의 미디어 객체를 나른다 메시지는 컨테이너, 엔터티는 화물 HTTP메시지를 인터넷 운송 시스템의 컨테이너라고 생각한다면, HTTP 엔터티는 메시지의 실질적인 화물이다 엔터티 본문: 엔터티 본문은 가공되지 않은 데이터만을 담고 있다. 다른 정보들은 모두 헤더에 담겨있다. 엔터티 본문은 가공되지 않은 날 데이터에 불과하기 때문에 엔터티 헤더는 그 데이터의 의미에 대해 설명할 필요가 있다. MIME 타입 전달되는 데이터 매체의 기저형식(HTML 파일, 마이크로소프트 워드 문서, MPEG 비디오)의 표준화된 이름이다 Content-Type의 값은 인터넷 할당 번호 관리기간에 등록된 표준화된 MIME 타입이다 주미디어타입(텍스트, 이미지, 오디오 등) / 더 구체적으로 서술하는 부타입(s..
-
HTTP 완벽 가이드 14장 보안 HTTPWeb Dev/7. 네트워크 2021. 2. 28. 15:55
HTTP 만으로 기밀데이터가 있는 요청을 웹상에서 하는 것은 어렵다 이를 위해 HTTP와 디지털 암호화 기술을 결합해야한다 HTTPS HTTP를 안전하게 만드는 방식 중에서 가장 인기 있는 것 HTTPS를 사용하면 모든 HTTP 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다. HTTPS는 HTTP 하부에 전송 레벨 암호 보안 계층을 제공함으로써 동작 공개키 암호법 한쌍의 호스트가 하나의 인코딩/디코딩 키를 사용하는 것이 아니라, 두개의 비대칭 키를 사용한다 인코딩 키는 공개되어있어 누구나 평문을 암호화 할 수 있으나, 이를 해독하는 것은 디코딩 키를 가진 호스트만 할수있다. 키의 분리를 통해 메시지의 인코딩은 누구나 할수 있되, 메시지 디코딩은 소유자만 할 수 있다는 것이 장점디아. 대칭키의 ..