오늘의 공부 (80) 썸네일형 리스트형 http 완벽가이드(12일차): 9장 웹로봇 궁금증 및 기록 *크롤링: 인터넷 검색엔진은 웹을 돌아다니면서 모든 문서를 모으기 위해 크롤러를 사용한다. *크롤링을 하기 전에 출발지점을 정해야한다. 이 방문해야되는 url집합을 "root 집합" 이라 한다. *크롤러는 html파싱을 하고 상대링크를 절대링크로 바꿔야한다. *크롤러가 순환에 빠지면 네트워크를 다 차지해 웹 서버에 부담이 된다. 크롤러는 url이 방문했던 곳인지 빨리 판단하기 위해 검색트리, 해시 테이블을 사용한다. *트리와 해시테이블:url을 빨리 추적하기 위해 사용하는 자료구조 *다른 url이라 할지라도 alias(별칭)으로 사용되는 경우도 있어 같은 리소스를 가리킬때도 있다. url 정규화: url들을 표준형식으로 정규화하면 url들을 구분할수 있다.(어느정도는) *스로틀링: 로봇이 웹 사이트에서 .. http 완벽가이드(11일차): 8장 게이트웨이 궁금증 및 기록 *게이트웨이: 다른 프로토콜과 애플리케이션 간 http인터페이스 웹에서 더 복잡한 리소스를 사용하기 위해 모든 리소스를, 하나의 애플리케이션으로만 처리할 수 없어졌다. 리소스를 받기위한 경로를 안내하는 역할이 게이트웨이다. 게이트웨이는 HTTP 트래픽을 다른 프로토콜로 자동으로 변환하여, HTTP 클라이언트가 다른 프로토콜을 알 필요없이 서버에 접속하게 해준다. 웹 게이트웨이는 한쪽에서는 HTTP로 통신하고 다른 한쪽에서는 HTTP가 아닌 다른 프로토콜로 통신한다. 프로토콜 게이트웨이 애플리케이션 서버는 HTTP를 통해 클라이언트와 통신하고 서버 측에 있는 애플리케이션 프로그램에 연결하는 서버 측 게이트웨이다. 서버에서부터 파일이 전송되는게 아닌 게이트에이의 애플리케이션 프로그래밍 인터페이스(API)를 .. http 완벽가이드(11일차): 7장 캐시 캐시: 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP 장치이다. *cash hit: 캐시에 요청이 들어왔을 때 대응하는 사본이 있다면 그것을 이용해 요청이 처리됨 *cash miss: 사본이 없을때 원서버로 전달됨 *cash revalidation:캐시는 원서버 컨텐츠가 항상 변경될 수 있기에 자료에 대한 검사를 해야된다. 검사는 변경이 있으면 304반환 없으면 200 *캐시 토폴로지: 캐시는 private cash가 있고 여러사람이 쓰는 public cash가 있다. *공용캐시: 캐시 프락시, 프락시 캐시라고 불리는 프락시 서버다. *via 헤더? *엔터티 태그? *LM인자 알고리즘 *Cache-Control 지시어 *메타파일 *캐시 수명 계산 알고리즘은 이해 못함 http 완벽가이드(10일차): 6장 프록시 궁금증 및 기록 스킴? *가상으로 호스팅된 웹서버는 웹서버의 호스트와 포트에 대한 정보가 담겨있는 Host 헤더를 요구한다. *가상으로 호스팅 되는 웹 서버는 여러 웹 사이트가 같은 물리적 웹 서버를 공유한다. *인터셉트 프락시? *트래픽?(어렴풋이 어떤건지 알고만 있음) :서버와 네트워크 장치에서 흐르는 데이터의 양 *via 헤더 메시지가 지나는 중간노드의 정보를 나열한다. *게이트웨이 기능을 제공한다는 것이 무슨의미? *TRACE메서드 프락시 메시지 내용이 어떻게 변하는지 관찰하는 기능 *프락시 인증(Proxy-Authorization) HTTP는 사용자가 접근권한 자격을 프락시에 제출받게 하고, 제출하지 않으면 요청을 차단할수도 있다. *프락시 상호운용성 서로 다른 프로토콜을 사용하는 클라이언트와 서버 사이를 중개.. [ubuntu20.04 lts] sd카드 이미지 만들기 (이미지 저장공간 부족한 경우) &새로운 sd카드 이미지 붙여넣기 실행환경:ubuntu 20.04 lts SD카드 이미지를 만들려고 하는데 64기가 정도 필요했습니다. 그런데 현재 제 노트북에는 20GB 밖에 남지 않아 고민하던중 USB에 이미지를 저장할 수 없을까 해서 시도한 끝에 성공해서 포스팅 남깁니다. (여러개 USB는 아직 안됨) [1. usb에 이미지 파일 만들어 저장하기] 1)우선 SD카드리더기에 이미지를 뜰 SD카드를 넣고 연결해줍니다. 2)그리고 이미지가 저장될 usb도 연결해줍니다. (저장 공간이 충분한 경우 2번 과정 후에 4-1로 가주시면 됩니다.) 연결된 장치를 아래 명령어로 확인합니다. sudo parted -l 현재 /dev/sdc 에는 sd카드가 /dev/sdd 에는 usb가 연결된것을 확인할수 있습니다. 그 후에 sd카드를 umount 시.. [vscode] intellisense란? [실행환경 : ubuntu 20.04 lts] vscode에서 c언어로 컴파일하고 빌드 하기 위해선 컴파일러를 설치해야합니다. 그래서 Microsofot의 c/c++ 이라는 익스텐션이 필요합니다 그리고 c_cpp_properties json파일로 들어가면 설정값이 나오는데 여기서 저는 intellisense라는 말을 이해 못했습니다.ㅎㅎ intellisense가 다른게 아니고 코드 문법 자동완성 기능을 의미하는 것이었습니다. [참고 사이트] https://code.visualstudio.com/docs/?dv=linux64_deb Documentation for Visual Studio Code Find out how to set-up and get the most from Visual Studio Co.. ubuntu20.04 tty clock 설치하기 문득 배경화면 꾸미는것에 관심을 두다보니 시계가 레트로 느낌이 나면 좋겠다 싶어서 찾아보는데 이런 시계를 보고 마음에 들어서 설치하게 되었습니다. 업데이트를 해주고 sudo apt-get update tty clock을 설치하고 sudo apt-get install -y tty-clock 실행하면 현재 실행하는 터미널창이 시계창으로 바뀝니다. tty-clock -C2 -sc 커스텀도 가능하니 아래사이트를 참고하시면 됩니다. http://manpages.ubuntu.com/manpages/trusty/man1/tty-clock.1.html Ubuntu Manpage: tty-clock - a terminal digital clock Powered by the Ubuntu Manpage Repository,.. 도커 오류 run syntax error: unterminated quoted string 실행환경:ubuntu 20.04 lts docker build 후에 도커를 실행하려는데 bin/sh syntax error: unterminated quoted string 이런 오류가 났습니다. 알고보니 이건 단순 오타로 인해 나는 오류였습니다. docker파일에서 띄어쓰기나 따옴표 같은 요소에서 오타가 없는지 확인하는 걸 추천드립니다. 수정 전 (CMD부분에 , 다음에 띄어쓰기를 하지 않고 다 붙였더니 저런 오류가 났습니다.) 수정 후 이전 1 2 3 4 5 6 7 ··· 10 다음