Squid�̍X�V�p�^�[���ŃC���^�[�l�b�g�A�N�Z�X�������������FLeverage OSS�i1/2 �y�[�W�j

�v���L�V�L���b�V���T�[�o�ł���Squid�̐ݒ�p�����[�^��p���ăo�C�g�q�b�g�����グ��΁A���p�”\�ȑш敝��3�`6���߂����g��ł���BWeb�T�C�g�̍œK�����l���邠�Ȃ��ɂ͂܂�����������Ă݂Ă������������B

» 2008�N12��01�� 08��00�� ���J
[Solomon Asare�CSourceForge.JP Magazine]
SourceForge.JP Magazine

�@�ш敝�̐����́A�C���^�[�l�b�g�ɐڑ����Ă��鑽���̐l�ɂƂ��Ă��܂Ȃ��c�����1�‚��B�������A�v���L�V�L���b�V���T�[�oSquid���l�b�g���[�N�ɃC���X�g�[�����A�ݒ�p�����[�^��p���ăo�C�g�q�b�g�����グ��΁A���p�”\�ȑш敝��3�`6���߂����g��ł���B

�@Squid�́A���ߍׂ����`���[�j���O�ɂ���Ă��܂��܂ȃj�[�Y�ɑΉ��ł���B���s�̈���łɂ͏��Ȃ��Ƃ�249�‚̃p�����[�^������A���J�ȃR�����g���‚����ݒ�t�@�C���i�ʏ�́u/etc/squid.conf�v�j��4600�s�ȏ������B���̃{�����[���ɂ́A�o���L���ȊǗ��҂ł����|����邾�낤�B�ݒ�̕ύX�͂��ׂĂ��̃t�@�C����ōs���B

�@1�T�Ԃł͈�t�ɂȂ�Ȃ��i���z��������1�J���ȏ㎝�‚悤�ȁj�傫�ȃL���b�V�����~�����Ƃ��낾�B���ۂɕK�v�ȃT�C�Y�́A�l�b�g���[�N�̃g���t�B�b�N�ʂɂ���ĕς���Ă���B�L���b�V���̃T�C�Y���傫���قǁA�v�����ꂽ�I�u�W�F�N�g���L���b�V���ɕۑ�����Ă���”\���������Ȃ�B

�@�������e�ʂ́AOS�����Squid�̎��s�ɕK�v�ȕ��ɉ����A�L���b�V���T�C�Y�̖�1�����L���b�V���̃f�[�^�x�[�X�p�Ɋm�ۂ���K�v������B�‚܂�A100G�o�C�g�̃f�B�X�N�̈���L���b�V���ɂ���ꍇ�́A���̃f�[�^�x�[�X�p�ɖ�1G�o�C�g�AOS�����Squid�p�ɖ�100M�o�C�g���K�v�ɂȂ�B

�@Squid�ŃL���b�V���”\�ȃI�u�W�F�N�g�̍ő�T�C�Y�́A�f�t�H���g��4M�o�C�g�ł���B�������A�ŋ߂̃��f�B�A���b�`�ȃC���^�[�l�b�g�̊‹����l����Ƃ���ł͏��Ȃ�����B�N���C�A���g���ő����̓����\�t�g�E�F�A�p�b�P�[�W���_�E�����[�h����Ȃ�A����I�Ƀ_�E�����[�h�����t�@�C���̍ő�T�C�Y���l�����Ēl���i�Ⴆ��100M�o�C�g�Ɂj���₷�Ƃ悢�B

�@�L���b�V���ɂ��ۑ��ƒ񋟂��s����Ώۂ́A�X�V�p�^�[���irefresh pattern�j�ɂ���Č��܂�B���z�I�ɂ́A�R���e���c��񋟂���Web�T�[�o�̏��ɏ]���āA�L���b�V���”\�ȑΏۂƊ��Ԃ����߂���悤�ɂ������B�����������́ASquid�ɂ���ď������ꗝ�������HTTP�w�b�_�ɋL����Ă���B�c�O�Ȃ���A�قƂ�ǂ̃T�[�o�ɂ���ė^���������Web�T�[�o�̃f�t�H���g�ݒ�ł���A�ш敝�̑啝�Ȑߖ�ɂ͂‚Ȃ���Ȃ��B

�@�X�V�p�^�[���̌`�����ȉ��Ɏ����B

refresh_pattern [-i] regex min percent max [options]


�@�����ŁAmin��max�͎��Ԃ𕪒P�ʂŎw�肵���l�Apercent�̓p�[�Z���g�l�ł���Boptions�ɂ͎��̂��̂��w��ł���B

  • override-expire�FWeb�T�[�o�����Expires�i�L�������j�w�b�_�𖳎�����B
  • override-lastmod�FWeb�T�[�o�����Last-modified�i�ŏI�X�V���j�w�b�_�𖳎�����B
  • reload-into-ims�F�N���C�A���g�����reload�i�ēǂݍ��݁j�v����If-Modified-Since�i�X�V���ɂ������t���擾�j�v���ɕϊ�����B
  • ignore-reload�F�N���C�A���g��no-cache�i�L���b�V���𗘗p�������̃T�[�o���烊���[�h�j�f�B���N�e�B�u�𖳎�����B����āA�L���b�V������擾�”\�ł���΂���𗘗p���ėv���ɉ�����B
  • ignore-no-cache�FWeb�T�[�o�����no-cache�i�I�u�W�F�N�g���L���b�V���s�‚ɂ���j�f�B���N�e�B�u�𖳎�����B
  • ignore-no-store�FWeb�T�[�o�����no-store�i��͂�I�u�W�F�N�g���L���b�V���s�‚ɂ���j�f�B���N�e�B�u�𖳎�����B
  • ignore-private�FWeb�T�[�o�����private�i�������I�u�W�F�N�g���L���b�V���s�‚ɂ���j�f�B���N�e�B�u�𖳎�����B
  • ignore-auth�F�����̏��F��v������I�u�W�F�N�g���L���b�V���s�‚���Ƃ� �����𖳎�����B
  • refresh-ims�F�N���C�A���g�����reflesh�i�X�V�j�v����If-Modified-Since�v���ɕϊ�����B

�@�����̃I�v�V�����̂ǂꂪ���p�ł��邩��Squid�̃o�[�W�����ɂ���ĈقȂ�̂ŁA�ݒ�t�@�C���Ŋm�F���邱�ƁB

�@�X�V�p�^�[�����L���Ȃ̂́A���̃T�[�o�����Expires�w�b�_�����݂��Ȃ��ꍇ�A���邢�͗��p����X�V�p�^�[����ignore-expire�I�v�V�������܂܂��ꍇ�ł���B���̗�����Ă݂悤�B

refresh_pattern -i \.gif$ 1440 20% 10080.


�@����͎��̂悤�ȈӖ��ɂȂ�B

  1. ���O���u.gif�v�܂��́u.GIF�v�ŏI���I�u�W�F�N�g�i�‚܂�gif�摜�t�@�C���j�̂�����ɂ�Expires�w�b�_���Ȃ��ꍇ��2�j�ɐi�ށB����ȊO�̏ꍇ��6�j�ɐi�ށB
  2. �ۑ����ԁi�I�u�W�F�N�g���L���b�V���T�[�o��ɂ��鎞�ԁj��1440�������̏ꍇ�́A�܂��V�����I�u�W�F�N�g�ƌ��Ȃ��Ă����n���A�������I������B����ȊO�̏ꍇ��3�j�ɐi�ށB
  3. �ۑ����Ԃ�1��80����蒷���ꍇ�́A�Â��I�u�W�F�N�g�ƌ��Ȃ��Č��̃T�[�o�ɃA�N�Z�X���ĐV�����R�s�[���擾���A�������I������B����ȊO�̏ꍇ��4�j�ɐi�ށB
  4. �ۑ����Ԃ�1440�`1��80���̏ꍇ�́Alm-factor���g���ăI�u�W�F�N�g�̑N�x�𔻒f����Blm-factor�́A�L���b�V���T�[�o��ł̃I�u�W�F�N�g�̕ۑ����Ԃ��A���̃T�[�o�ɂ����邻�̃I�u�W�F�N�g�̍쐬�܂��͕ύX����̌o�ߎ��ԂŊ������l�ł���B�Ⴆ�΁A���̃T�[�o�� 1�����O�ɍ쐬���ꂽ�I�u�W�F�N�g���A�L���b�V���T�[�o���1800���i���ۑ����ԁj�ɕۑ�����Ă���ꍇ�Alm-factor��1800/10000��18���ƂȂ�B
  5. lm-factor���X�V�p�^�[���̎w��p�[�Z���g�l�i��20���j��菬�����ꍇ�A�V�����I�u�W�F�N�g�ƌ��Ȃ��ēn���A�������I������B����ȊO�̏ꍇ��6�j�ɐi�ށB
  6. �Â��I�u�W�F�N�g�ƌ��Ȃ��A���̃T�[�o�ɃA�N�Z�X���ĐV�����R�s�[���擾����B

�@�����摜�A�����A���s�t�@�C���A�A�[�J�C�u�ȂǁA�t�@�C���̖��O�������ł���΂��̓��e�ɂ��ω����Ȃ����Ƃ��قƂ�ǂł���I�u�W�F�N�g�̏ꍇ�́A�X�V�p�^�[����ύX���ĐV�����I�u�W�F�N�g�̊���Â����邱�ƂŁA�L���b�V���̃q�b�g�����グ�邱�Ƃ��ł���B�Ⴆ�΁A�O�L�̍X�V�p�^�[���́A���̂悤�ɕύX�ł���B

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 10080 90% 43200 ignore-expire ignore-no-cache ignore-no-store ignore-private

refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv)$ 43200 90% 432000 ignore-expire ignore-no-cache ignore-no-store ignore-private

refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff)$ 10080 90% 43200 ignore-expire ignore-no-cache ignore-no-store ignore-private

refresh_pattern -i \.index.(html|htm)$ 0 40% 10080

refresh_pattern -i \.(html|htm|css|js)$ 1440 40% 40320

refresh_pattern . 0 40% 40320


�@���Ȃ��Ƃ������ɂ͗������������s�ׂ����A���̃T�[�o���iYouTube.com�Ȃǁj����������s�����ăR���e���c�̃L���b�V��������܂��͕s�”\�ɂ��悤�Ƃ��Ă���ꍇ������B�O�L�̃I�v�V�����́A�������������̍����ɖ𗧂‚��낤�B

�@�X�V�p�^�[���́A���ׂĂ̗v���ɑ΂��āA�Y������K�������‚���܂ŏ�ʂ̂��̂��珇�Ƀ}�b�`���O���s����B�Ō�̋K���̓L���b�`�I�[���K���ŁA��ʂ̋K���̂�����ɂ����Ă͂܂�Ȃ������v���͂��ׂāA���̋K���Ƃ̃}�b�`���O���s����B�ʏ�AFTP��gopher�Ƃ������ق��̃v���g�R���ɂ‚��ẮA�f�t�H���g�̃L���b�`�I�[���K�������X�g�̍ŏ�ʂɕʓr�p�ӂ��A���ʂ̋K���Ƃ̃}�b�`���O���s���Ȃ��悤�ɂ��Ă����B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © 2010 OSDN Corporation, All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);

���ڂ̃e�[�}

�l�C�L�������L���O

  1. ��{���͂����Â��H�@�l�C��IT���i�A���^�A�b�v�ɂ‚Ȃ���IT���i�y�ǎҒ����z
  2. �����s���c�s�A�c���^�쐬�ɂ����鎞�Ԃ�96���팸�@�ǂ�����Ď��������̂�
  3. 2025�N�Ɍ����ē��{��Ƃ��l�����ׂ��u14�̃}�C���h�Z�b�g�v�@�K�[�g�i�[����
  4. �f�[�^���́E��Պ�Ƃ��肤2025�N�@���^�𕪂���v�f�͉��Ȃ̂��@Databricks�ASnowflake�AQlik�ɕ�����
  5. ���ڂ̓p�X�L�[��������Ȃ��@2025�N�������s���Ăق���3�‚̃Z�L�����e�B�Z�p
  6. �uAI�͐M���ł��Ȃ��v�@���{��AI�������k�����@Qlik����
  7. ���{�ʉ^�͂Ȃ��A�N�Z���`���A��i�����̂��H�@IT���傪�u124���~�̑i�ׁv����w�Ԃׂ�����
  8. �A�N�Z���`���A�Ɠ��{�ʉ^�́u124���~�i�ׁv����w�Ԃׂ����Ɓ@2024�N���ڋL�������L���O�iIT�����j
  9. �둀���U������I���ȍU����@�uDoubleClickjacking�v�ɗv����
  10. �u���Ȃ�O��I�ɍU������v�@Google���b�h�`�[���̃��[�_�[����������K�̉��l
���Ȃ��ɂ������߂̋L��PR