전체보기
-
Nginx) 변수 종류Programing Study/네트워크 2021. 8. 13. 14:46
참고*https://opentutorials.org/module/384/4508 예제 아래와 같은 URL로 접근 했을 때 환경변수는 아래와 같다. http://opentutorials.org:80/production/module/index.php?type=module&id=12 $host : opentutorials.org $uri : /production/module/index.php $args : type=module&id=12 $query_string (same as $args) server_addr : 115.68.24.88 server_name : localhost server_port : 80 server_protocol : HTTP/1.1 $arg_type : module $request_u..
-
Nginx) proxy_pass 작동안할때Programing Study/네트워크 2021. 8. 13. 14:27
upstream backend{ server localhost:8080; } server { location /api { proxy_pass http://backend; } location / { root /html/dir; } } 다음과 같은 비슷한 상황에서 api로 접근했을때 backend 서버 접근이 안되었다. location /api/ { proxy_pass http://backend; } location /api/ { proxy_pass http://backend/; } 다음과 같은 방법으로 해결할 수 있다. 정확한 이유는 https://stackoverflow.com/a/62753212 참고 하길 바란다.
-
서버) 웹 캐싱과 브라우저 캐싱에 대해서Programing Study/네트워크 2021. 8. 12. 20:56
출처https://rinae.dev/posts/web-caching-explained-by-buying-milk-kr Kevin Kononenko 의 Web Caching Explained by Buying Milk at the Supermarket를 번역한 글입니다 슈퍼마켓에서 우유를 사 보신적 있다면, 서버와 브라우저 양쪽의 캐싱 개념을 이해하실 수 있습니다. 여러분이 인터넷을 열심히 사용하고 있다면(아마 그렇겠죠), 캐싱의 덕을 톡톡이 보셨을 겁니다. 하지만 언제 어떻게 이 마법같은 일이 일어나는지 잘 알고 계실지 모르겠습니다. 개발자의 관점에서 본다면 캐싱은 높은 성능의 웹 애플리케이션과 웹 서버를 더 쉽게 만들어주는 역할을 합니다. 매번 몰려드는 수천 개의 요청을 처리하느라 서버를 최적화하는 방..
-
서버) Nginx 캐시 설정방법Programing Study/네트워크 2021. 8. 11. 21:01
Nginx 에서 캐시 설정을 하는 방법에 대한 기록입니다. 캐시 서버를 별도로 두는 방법도 있고 캐싱 방법이야 무궁무진한데, 일반적으로는 클라이언트의 컴퓨터에 다운받게하고 웹 서버에서 정보를 풀링할동안 띄워주는 역할을 하는 그 캐시를 설정하는 방법을 알아보았다. 일반적으로 모든 웹 페이지 소스는 클라이언트에 다운되어 랜더링 되는데, 이 과정에서 Cache TTL(생존주기)가 대부분 미정으로 되어있다. 이런 페이지는 브라우저나 환경별로 매번 새 정보를 요청할때가 있거니와 자체적인 TTL 기준으로 사용되어지기도 한다. 보통 그래서 html 메타태그에 Cache-Control 이란 설정으로 페이지별로 캐싱정도를 관리하기도 하지만, 여기서는 Nginx가 모든 리소스 요청에 대해 캐싱 기준을 설정하는 그런 방법에..
-
서버) Http 요청헤더에서 Authorization을 통해 token 검증 (node.js)Programing Study/네트워크 2021. 8. 11. 20:30
클라이언트 Authorization 헤더는 인증 토큰(JWT든, Bearer 토큰이든)을 서버로 보낼 때 사용하는 헤더입니다. API 요청같은 것을 할 때 토큰이 없으면 거절당하기 때문에 이 때, Authorization을 사용하면 됩니다. Authorization: Bearer XXXXXXXXXXXXX 보통 Basic이나 Bearer같은 토큰의 종류를 먼저 알리고 그 다음에 실제 토큰 문자를 적어 보냅니다. 사용한 모듈 npm install jsonwebtoken 서버(Node.js) app.use((req, res, next) => { // Header names in Express are auto-converted to lowercase let token = req.headers['x-access-..
-
서버) Http의 Ceche HeaderPrograming Study/네트워크 2021. 8. 11. 20:14
웹 자원을 효율적으로 쓰기 위해서는 캐싱이 중요합니다. 똑같은 데이터를 계속해서 내려 받을 필요는 없죠. 캐시에 대한 정보는 개발자 도구(크롬 기준)의 Application 탭에서 쉽게 확인할 수 있습니다. 캐시 여기서 말하는 캐시는 개인 캐시를 뜻합니다. CDN같은 공유 캐시가 아니라요. 여러분의 브라우저에 응답으로 온 HTML이나 JSON같은 데이터가 저장되어 나중에 서버에 요청을 보내지 않고도 브라우저에 저장된 응답을 사용할 수 있습니다. 보통 캐싱은 GET 요청에만 합니다. GET이 REST적의미로 가져오다이기 때문에, 가져온 데이터를 저장해두고 두고두고 쓰는 것이죠. 다른 요청 메서드를 캐싱하는 것을 잘 보지 못했습니다. 복잡한 경우는 제외하고요. 일반적으로 200(가져오기 성공), 301(다른..