delete나 truncate 같은 명령으로 데이터를 지웠을때 복구하는 방법입니다.
mysql의 모든 명령들은 로그를 남기기때문에 가능합니다.
일단 mysql의 DB가 쌓이는 디렉토리로 이동합니다. 
대게 /usr/local/mysql/data /usr/local/mysql/var 등으로 설정해 놓으셨을겁니다.
해당 디렉토리로 이동하면 xxx-bin.001 xxx-bin.002 같은 바이너리 파일들이 존재할겁니다.
이게 바로 DB를 첨 생성할때부터 지금까지 쌓여온 로그인데요 이 파일을 활용하시면 삭제된 데이터도 살릴수 있습니다.
바이너리 파일이기때문에 그냥 접근하시면 이상한 문자들이 보이구요
mysqlbinlog 명령을 이용하셔서 사용해야 합니다.
다음은 예제입니다.

일단 DB 디렉토리로 이동한다.
# cd /usr/local/mysql/data

바이너리 파일을 소스파일로 변환한다.
# ../mysqlbinlog leopit-bin.002 > rescue.sql

필요한 구문만 가져온다.
# grep "insert" rescue.sql > rescue1.sql

이렇게 하시면 rescue1.sql은 지금까지의 인서트구문이 다 들어옵니다.
여기서 필요없는 부분은 지우세요

이제 최종적으로 DB에 삽입만 하시면 됩니다.
# mysql -u 계정아이디 -p DB이름 < rescue1.sql

'Database' 카테고리의 다른 글

mysql_4.1.x 부터 계정 추가시 달라진점  (0) 2017.01.07
mysql index 속도 높히기  (0) 2017.01.07
mysql 깨진 테이블 복구하기  (0) 2017.01.07
mySQL 개념 알기쉽게 정리한 내용  (0) 2017.01.07
웹서버 & mySQL 백업  (0) 2017.01.06

디자이너가 드림위버로 만든 html을 프로그래머가 메모장에서 일일이 다시 코딩한 경험있으시지요..? 
프로그래머가 코딩한거 드림위버로 일일이 다시 코딩 하는것은 어떨까요?
서로 조금만 배려하면 서로 무지 편하게 작업 할수있어요

아래 예제는 디자이너 , 기획자 , 프로그래머 ,등의 공동 작업시 편리한 생각(팁)입니다.



~~~~~~~~~~~~~~~~~echo 함수의 사용~~~~~~~~~~~~~~~~~~~~~~~~
//좋은 코딩
..

..
//드림위버나 나모에서 아주 잘 보입니다 
//변수에 대한 학습 효과도 줄 수 있어요
//이렇게 하면 템플릿도 필요 없어요


// 열나 짜증나는 코딩(디자이너 입장)
echo"
..

.. ";
?>



~~~~~~~~~~~~~~~~~ 네이밍 ~~~~~~~~~~~~~~~~~~~~~~~~~
//파일의 역할 
게시판 파일의 경우를 예를 들면 
리스트 / 내용보기 / 수정하기 / 삭제하기 /검색하기 
5가지의 역할(인터페이스)를 가지고 있습니다
그럼에도 불구 하고 이걸 bbs.php라는 파일 한장에 다 넣어서 if 문으 쪼개면
드림위버에서 볼 수 없어요

보통 프로그램 할때 어떤게 더 빠를까 생각하시는데..,
그것 보다는 어떤 인터페이스와 유지보수가 더 쉬울까
생각하는것이 요즘 추세 같습니다

각각 write.php list.php view.php ..등으로 나뉘주세요
///////////좋은 파일 네이밍의 예//////////////
bbs_list.php
bbs_write.php
bbs_view.php
mail_list.php
mail_view.php
mail_write.php
inc_common.php
inc_dbconnect.php
inc_menu.php
company_ceo.php
company_map.php
company_phone.php

// 먼저 모듈을 정하고 역할을 표시한다 
//그럼 FTP 로 파일명 순으로보면 잘정리 되어서 보인다.

/////////나쁜 네이밍의 예//////////////////
1.php
3.php
ttt.gif

//역할을 알수 없다 
//모듈(카테고리도 표시가없다)
//숫자를 사용한다
//대소문자를 막 섞는다..


~~~~~~~~~~~~~디렉터리 구조~~~~~~~~~~~~~~~~~~~~~~~
수평적인 구조를 만든다
(디렉토리는 하나~ 두개 정도의 하위구조를 만든다)
///////잘된예 
// "[]" 이거는 디렉터리를 말합니다 
[html]
[php]
[image]
[bbs]
index.html

위처럼 기본계정에 들어가면 인덱스 파일 외에는 
모두 각각의 폴더에 집어넣습니다
image 폴더에는 이미지만
html 폴더에는 html파일만.,

이렇게 사용하면 이미지와 include 사용시 항상 깨지지 않습니다
경로때 문에 고민하지 않아도 되구요 
그리고 php 파일이나 html에서 어디서나 깨지지지 않아요
제로보드 등 설치시에도 이미지 경로가 똑같아지지요
헤더랑 푸터 불러와도 php나 html에서 동일 하게 보입니다
단 경로는 항상 "../" 이걸 붙여줘야 합니다 이유는 아시지요?
../image/이미지명.gif
../inc/common.php

위 처럼 모든 파일의 상대 경로가 동일 하죠


//나쁜예
디렉터리 밑에 또 그밑에 또 ..그밑에 또 디렉터리
파일 한장 고칠려면 엄청 뒤져야 합니다


이상입니다 


* nzeo.com

'Coding' 카테고리의 다른 글

[PHP] DB 내용 CSV 포멧 파일로 저장하기  (0) 2017.01.07
[PHP] Whois 조회 코드  (0) 2017.01.07
[PHP] 오픈 포트 확인  (0) 2017.01.07
[PHP] 한글 문자열 자르는 함수  (0) 2017.01.07
자주 사용하는 PHP 함수  (0) 2017.01.07

PHP_SELF
document root를 기준으로 한 현재 실행중인 스크립트의 파일 이름. PHP를 커맨드라인으로 샐행한 경우 이 변수는 사용할 수 없다. 

HTTP_COOKIE_VARS
현재 스크립트에 HTTP 쿠키를 사용해 전달된 변수의 associative 배열 

HTTP_GET_VARS
현재 스크립트에 HTTP GET 메소드를 사용해 전달된 변수의 associative 배열 

HTTP_POST_VARS
현재 스크립트에 HTTP POST 메소드를 사용해 전달된 변수의 associative 배열 

HTTP_POST_FILES
현재 스크립트에 HTTP POST 메소드를 사용해 업로드된 파일에 대한 정보를 가진 associative 배열 $HTTP_POST_FILES 배열의 내용에 대한 자세한 정보는 POST method uploads 부분을 살펴보자. 

$HTTP_POST_FILES 변수는 4.0.0 이후에서만 유효하다. 

HTTP_ENV_VARS
현재 스크립트에 현재 환경 변수에서 전달된 변수의 associative 배열 

HTTP_SERVER_VARS
현재 스크립트에 HTTP 서버에서 전달된 변수의 associative 배열 이 변수들은 위에서 언급한 Apache 변수들과 유사한 내용으로 되어있다. 

-----------------------------------------------------------

GATEWAY_INTERFACE
서버가 사용하고 있는 CGI specification의 revision. 예: 'CGI/1.1'. 

SERVER_NAME
현재 스크립트가 실행되고 있는 호스트의 이름. 만약 스크립트가 가상 호스트에서 실행되고 있다면, 이 값은 가상 호스트의 값이 될 것이다. 

SERVER_SOFTWARE
요구에 대한 대답의 헤더에 사용할 서버 identification 문자열 

SERVER_PROTOCOL
페이지가 요구되어질 때 사용한 프로토콜의 이름과 리비젼. 예: 'HTTP/1.0'; 

REQUEST_METHOD
페이지가 요구될 때 사용된 method: 예: 'GET', 'HEAD', 'POST', 'PUT'. 

QUERY_STRING
해당 페이지를 접근할 때 사용된 query string. 

DOCUMENT_ROOT
현재 스크립트가 샐행중인 document root 디렉토리. 서버의 설정 파일에 정의되어 있다. 

HTTP_ACCEPT
현재의 요구(request)에 포함된 Accept: 헤더의 내용 (존재하는 경우만) 

HTTP_ACCEPT_CHARSET
현재의 요구(request)에 포함된 Accept-Charset: 헤더의 내용 (존재하는 경우만). 예: 'iso-8859-1,*,utf-8'. 

HTTP_ACCEPT_ENCODING
현재의 요구(request)에 포함된 Accept-Encoding: 헤더의 내용 (존재하는 경우만). 예: 'gzip'. 

HTTP_ACCEPT_LANGUAGE
현재의 요구(request)에 포함된 Accept-Language: 헤더의 내용 (존재하는 경우만). 예: 'en'. 

HTTP_CONNECTION
현재의 요구(request)에 포함된 Connection: 헤더의 내용 (존재하는 경우만). 예: 'Keep-Alive'. 

HTTP_HOST
현재의 요구(request)에 포함된 Host: 헤더의 내용 (존재하는 경우만). 

HTTP_REFERER
현재 페이지를 찾아온 페이지. 현재페이지로 넘어오는 링크가 있고, 이 링크를 클릭하여 현재 페이지로 넘어온 경우 이전 페이지의 주소가 설정된다. 이 값은 사용자의 브라우저에 따라 설정될 수도 있고 아닐 수도 있다. 

HTTP_USER_AGENT
현재의 요구(request)에 포함된 User_Agent: 헤더의 내용 (존재하는 경우만). 현재 페이지를 화면에 표시할 브라우저 소프트웨어의 상징이 되는 문자열이다. 예:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586) 특히, 이 값을 get_browser()함수와 함께 사용하면, 해당 페이지를 시용자의 브라우저의 능력에 맞춰서 만들어 낼 수도 있다. 

REMOTE_ADDR
사용자가 현재 페이지를 보고 있는 시스템의 IP 주소 

REMOTE_PORT
사용자의 시스템이 웹서버와 통신하고 있는 port 번호 

SCRIPT_FILENAME
현재 실행되고 있는 스크립트의 절대 경로명 

SERVER_ADMIN
웹서버 설정 파일에서 SERVER_ADMIN (Apache의 예) 지시자에 설정되어 있는 값. 만약 스크립트가 가상 호스트 상에서 실행되고 있다면 이 값은 virtual host 설정내에 설정된 값이 된다. 

SERVER_PORT
웹서버가 사용하는 port 번호. 기본값으로 보통 '80'이 사용되지만, 예를들어 SSL을 사용하는 경우 여러분이 지정한 secure HTTP 포트의 값이 사용된다. 

SERVER_SIGNATURE
server-generated 페이지에 추가되는 서버 버전과 가상 호스트 명. (enabled된 경우만) 

PATH_TRANSLATED
모든 virtual을 real로의 전환을 마친 후, 현재 페이지의 파일시스템 기준의 경로. (document root 기준이 아니다.) 

SCRIPT_NAME
현재 스크립트의 경로. 이것은 해당 페이지가 자기 자신을 가리킬 때 사용하면 유용하다. 

REQUEST_URI
이 페이지를 접근하기 위해 사용한 URI. 예: '/index.html'. 

'Coding' 카테고리의 다른 글

절대경로 표현하기  (0) 2017.01.07
색을 랜덤하게 뽑아서 출력합니다.  (0) 2017.01.07
주민번호 생성원리  (0) 2017.01.06
CGI Setting  (0) 2017.01.06
Vi(m) 사용시 ^M 없애기  (0) 2017.01.06

net user administrator *

C:\>net user administrator *
사용자에 대한 암호를 입력하십시오:
암호를 확인하기 위해 다시 입력하십시오:
명령을 잘 실행했습니다.

보너스 팁 - net user 명령을 이용한 랜덤하게 암호 설정하기!
C:\>net user administrator /random
administrator의 암호: JTE7B-tz

명령을 잘 실행했습니다.


C:\>net user administrator /random
administrator의 암호: n$XGj5@y

명령을 잘 실행했습니다.

잊어버리면.. ㄷㄷ....

이 명령에 대한 구문:
NET USER 
[사용자이름 [암호 | *] [옵션]] [/DOMAIN]
         사용자이름{암호 | *} /ADD [옵션] [/DOMAIN]
         사용자이름 [/DELETE] [/DOMAIN]

NET USER는 컴퓨터의 사용자 계정을 만들거나 수정합니다. 스위치 없이 사용될
경우, 컴퓨터에 있는 사용자 계정을 열거해 줍니다. 사용자 계정 정보는 사용자
계정 데이터베이스에 저장됩니다.

이 명령은 서버상에서만 실행됩니다.

사용자이름   추가, 삭제, 수정, 또는 보고자 하는 사용자 계정의 이름입니다.
             사용자 계정의 이름은 20자까지 쓸 수 있습니다. 
암호         사용자 계정에 대한 암호를 부여하거나 바꿔줍니다. 암호는 NET
             ACCOUNTS 명령의 /MINPWLEN 옵션으로 설정된 최저 길이 조건을
             만족시켜야 합니다.
             14자까지 쓸 수 있습니다.
*            암호를 칠 수 있는 프롬프트 상태로 만들어줍니다. 암호 프롬프트
             에서는 입력된 암호가 보이지 않습니다.
/DOMAIN      현재 도메인의 도메인 컨트롤러에 대한 작업을 수행합니다.
/ADD         사용자 계정 데이터베이스에 사용자 계정을 추가합니다.
/DELETE      사용자 계정 데이터베이스에서 사용자 계정을 삭제합니다.

옵션      옵션은 다음과 같습니다.

   옵션                       설명
   -----------------------------------------------------------------------
   /ACTIVE:{YES | NO}      해당 계정을 활성화시키거나 비활성화시킵니다. 해
                           당 계정이 활성화되어 있지 않을 경우 사용자는
                           서버에 연결할 수 없습니다.
                           기본설정은 YES입니다.
   /COMMENT:"문자열"       사용자의 계정에 관한 설명을 제공합니다.
                           (최고 48자까지 쓸 수 있습니다). 문자열은 인용
                           부호 안에 넣습니다.
   /COUNTRYCODE:nnn        사용자의 도움말과 오류 메시지를 위한 특정 언어
                           파일을 만들기 위해 운영 시스템의 국가 코드를
                           이용합니다. 0은 기본 설정 국가 코드를 나타냅니다.
   /EXPIRES:{날짜| NEVER}  날짜를 지정해주면 계정이 지정된 날짜에 만료됩니
                           다. NEVER는 시간 제한을 주지 않음을 의미합니다.
                           만료 날짜는 국가 코드에 따라 월/일/년 혹은 일/월/
                           년의 형태로 표시합니다. 월은 숫자로 하거나 문자로 표기해도
                           되고 3자로 약자표기 할 수도 있습니다. 년도는 2자
                           혹은 4자의 숫자로 표기합니다. 날짜를 표기할 때는
                           슬래시(/) (공백이 아니라)를 써서 년월일을 구분합니다.
   /FULLNAME:"이름"        사용자의 전체 이름입니다(사용자이름이라기보다).
                           이름은 인용부호 안에 넣어줍니다.
   /HOMEDIR:경로명         사용자의 홈 디렉터리에 대한 경로를 지정해줍니다.
                           경로는 반드시 있어야 합니다.
   /PASSWORDCHG:{YES| NO}  사용자가 자신의 암호를 변경할 수 있는지 
                           지정해 줍니다. 기본 설정은 YES입니다.
   /PASSWORDREQ:{YES | NO} 사용자 계정에 암호가 있어야 하는지를 지정합니다.
                           기본설정은 YES입니다.
   /PROFILEPATH[:경로]     사용자의 로그온 프로필 경로를 지정합니다.
   /SCRIPTPATH:경로명      사용자의 로그온 스크립트의 위치입니다.
   /TIMES:{시간 | ALL}     로그온 시간입니다. 요일[-요일][,요일[-요일]],
                           시간[-시간[,시간[-시간]]으로 표기되며 1시간씩
                           늘어나도록 제한됩니다. 요일은 영문으로 표기하되 
                           전부 풀어 쓰거나 줄여 쓸 수 있습니다. 시간은 12시간 
                           표기법이나 24시간 표기법 둘 다 가능합니다. 12시간 
                           표기법으로 쓸 때는 am, pm, a.m., 또는 p.m. 으로 
                           구분시켜줍니다. ALL은 사용자가 항상 로그온할 수 
                           있다는 의미이고 공란은 사용자가 절대로 로그온할
                           수 없음을 표시합니다. 요일과 시간은 쉼표(,)로
                           구분시켜주고, 요일과 시간을 여러 개 쓸 경우에는
                           세미콜론(;)으로 구분시킵니다.
   /USERCOMMENT:"문자열"   관리자가 계정에 대한 사용자 설명을 추가하거나
                           변경시킬 수 있게 해줍니다.
   /WORKSTATIONS:{컴퓨터이름[,...] | *}
                           사용자가 어느 컴퓨터에서 네트워크로 로그온 할
                           수 있는지 보여줍니다. 최고 8개 컴퓨터까지
                           보여줍니다. 목록이 없거나 *일 경우 사용자는
                           어느 컴퓨터에서도 로그온 할 수 있습니다.

NET HELP 명령| MORE 는 도움말을 한번에 한 화면씩 보여줍니다.

'Server' 카테고리의 다른 글

CentOS/Apache SSL 설정  (0) 2017.01.06
FTP 정리 Active/Passive 그리고 TFTP  (0) 2017.01.06
윈도우 커맨드 net rkill at 등  (0) 2017.01.06
윈도우 CMD 명령어  (0) 2017.01.06
HTTP Method  (0) 2017.01.06

uuencode privacy.txt privacy.txt| mail -s "tttyyy" yksong@ahnlab.com

'Tip' 카테고리의 다른 글

php.ini에서 register_globals=off 일때  (0) 2017.01.06
이메일 체크 함수  (0) 2017.01.06
mysql backup  (0) 2017.01.06
host 커맨드를 이용해 특정 도메인의 메일서버 알아내기  (0) 2017.01.06
Linux cpu, mem 등 확인하기  (0) 2017.01.06

<!--StartFragment-->// 현재 세션을 확인한다.
c:\>net session

// 네트웍으로 로그인
// 암호입력후 로그인하게 되면 현상태가 네트웍으로 
// 연결된 두대의 서버가 네트웍인증으로 연결된 상태이다.
c:\>net use \\218.154.92.*** /user:administrator *

// 네트웍으로 연결된 네트웍인증 제거
c:\>net use /delete \\218.154.92.***\ipc$

// 네트웍으로 연결된 상황 확인
c:\>net use

// start 명령으로 GUI로 드라이브보기
c:\>start c:\

// 특정시간에 명령수행
c:\>at 12:03 c:\DMLog.com

// 명령리스트 확인
c:\>at

// 현재 프로세스의 계층구조를 보여주는 명령어
c:\>rkill /view \\218.154.92.***

// 로컬 로그온 및 네트웍 로그온된 상황을 알수있다
c:\>rkill /token \\218.154.92.***

// 실행중인 프로세스의 실제 실행계정명이 나타난다.
C:\Program Files\Resource Kit>pulist

azman.msc       권한부여관리자
compmgmt.msc  컴퓨터관리
dcpol.msc         기본도메인컨트롤 보안설정
devmgmt.msc     장치관리자
dfrg.msc            디스크 조각모음
dfsgui.msc        분산파일시스템
diskmgmt.msc    디스크 관리
eventvwr.msc    이벤트로그
filesvr.msc        파일서버관리
fsmgmt.msc       공유폴더관리
gpedit.msc        그룹정책관리
lusrmgr.msc      로컬사용자그룹관리
tscc.msc          터미널서비스관리
inetmgr             인터넷(iis)서비스
iis.msc             IIS 서비스
services.msc    윈도우 서비스
lusrmgr.msc      사용자 권한
secpol.msc       로컬보안정책

'Server' 카테고리의 다른 글

FTP 정리 Active/Passive 그리고 TFTP  (0) 2017.01.06
윈도우 net user 커맨드  (0) 2017.01.06
윈도우 CMD 명령어  (0) 2017.01.06
HTTP Method  (0) 2017.01.06
윈도우 제어판/관리콘솔실행명령어  (0) 2017.01.06

윈도우즈 콘솔 명령어 모음

확장 명령어 세트와 기본 명령어 세트를 조합하면 윈도우 NT 셸 프로그래밍을 할 수 있다. 기본 명령어 세트는 도스에서 이미 익숙해 져 있는 명령어들일 것이므로, 확장 명령어 세트들만 여기서 설명하기로 하겠다. 윈도우 NT의 도스 명령어 코드들은 완벽한 32비트 코드로 이루어져 있기 때문에 이전 도스와는 완전히 다른 명령어지만, 피상적으로는 유사한 역할을 한다고 볼 수 있다. 확장 명령어들은 다음과 같다. 
ERASE, COLOR, CHDIR, MKDIR, PROMPT, PUSHD, POPD, SET, SETLOCAL, ENDLOCAL IF, FOR, CALL, SHIFT, GOTO, START, ASSOC, FTYPE 등이다. 각각에 대한 자세한 설명을 알고 싶으면 명령어 끝에 /? 옵션을 주면 된다.

A.3 윈도우 NT 전용 명령어 

AT : 명령어와 프로그램의 실행을 스케쥴한다. 
ATTRIB : 파일 속성을 표시하거나 바꾼다. 
BREAK : 확장된 CTRL+C 검사를 설정하거나 지운다. 
CALL : 한 일괄 프로그램에서 다른 일괄 프로그램을 호출한다. 
CHCP : 활성화된 코드 페이지의 수를 표시하거나 설정한다. 
CHDIR(CD) : 현재 디렉터리 이름을 보여주거나 바꾼다. 
CHKDSK : 디스크를 검사하고 상태 보고를 표시한다. 
CLS : 화면을 지운다. 
CMD : Windows NT 명령 인터프리터의 새 인스턴스를 시작한다. 
COMP : 두 개 또는 여러 개의 파일을 비교한다. 
CONVERT : FAT 볼륨을NTFS로 변환한다. 현재 드라이브는 변환할 수 없다. 
ex> convert c:/fs:ntfs
COPY : 하나 또는 그 이상의 파일을 다른 위치로 복사한다. 
DATE : 날짜를 보여주거나 설정한다. 
DEL : 하나 또는 그 이상의 파일을 지운다. 
DIR : 디렉토리에 있는 파일과 하위 디렉토리 목록을 보여준다. 
DISKCOMP : 두 플로피 디스크의 내용을 비교한다. 
DISKCOPY : 플로피 디스크의 내용을 다른 플로피 디스크로 복사한다. 
DOSKEY : 명령 줄을 편집하고, Windows NT 명령을 다시 호출하고, 매크로를 만든다. 
ECHO : 메시지를 보여주거나, 명령어 반향을 켜거나 끈다. 
ENDLOCAL : 배치 파일에서 환경 변경의 지역화를 끝낸다. 
ERASE : 하나 또는 그 이상의 파일을 지운다. 
EXIT : CMD.EXE 프로그램 (명령 인터프리터)를 마친다. 
FC : 두 파일 또는 파일의 집합을 비교하고 둘 사이의 다른 점을 표시한다. 
FIND : 파일에서 텍스트 문자열을 찾는다. 
FINDSTR : 파일에서 문자열을 찾는다. 
FOR : 파일 집합에서 각 파일에 대해 지정된 명령을 실행한다. 
FORMAT : Windows NT에 사용할 디스크를 포맷한다. 
GOTO : Windows NT 명령 인터프리터가 배치 프로그램에서 이름표가 붙여진 줄로 
이동하게 한다. 
GRAFTABL : Windows NT가 그래픽 모드에서 확장 문자 세트를 표시할 수 있게 한다. 
HELP : Windows NT 명령어에 관한 도움말을 제공한다. 
LABEL : 디스크의 볼륨 이름을 만들거나, 바꾸거나, 지운다. 
MKDIR(MD) : 디렉토리를 만든다. 
MODE : 시스템 디바이스를 구성한다. 
MORE : 출력을 한번에 한 화면씩 표시한다. 
MOVE : 하나 또는 그 이상의 파일을 한 디렉토리에서 다른 디렉토리로 옮긴다. 
NET ACCOUNTS : 도메인 서버의 로그온에 필요한 것이나 암호를 표시 또는 설정한다. 
NET COMPUTERS : Windows NT 도메인 서버에 컴퓨터의 추가(도메인 서버에서만 
가능)한다. 
NET CONFIG : 서비스 동작 중에 제어가능한 서비스를 표시한다. 
NET CONFIG SERVER : 서비스 동작 중에 서버 서비스의 설정을 변경하거나 표시한다. 
NET CONFIG WORKSTATION : 워크스테이션 동작 중에 워크스테이션 서비스의 설정을 
변경하거나 표시한다. 
NET CONTIUNE : 일시 정지된 서비스의 재활성화한다. 
NET FILE : 서버에 있는 열린 공유 파일의 수와 각 파일의 락(존재할 경우)의 수를 표시
한다. 이 명령은 개인 공유 파일을 닫을 수도 있고 락을 제거할 수도 있다. 
NET GROUP : 글로벌 그룹의 추가, 표시 또는 수정(서버에서만 가능)한다. 
NET HELP : 네트워크 명령과 도움말을 얻고자 하는 것의 제목 목록을 표시하거나 특정 
명령이나 제목에 대한 도움말의 제공한다. 
NET HELPMSG : 네트워크 에러 메시지에 대한 도움말 제공한다. 
NET LOCALGROUP : 지역 그룹의 추가, 표시, 수정한다. 
NET NAME : 워크스테이션에 메시지 이름을 추가, 삭제하거나 표시한다. 
NET PAUSE : 서비스나 공유 프린터를 일시 멈춘다. 
NET PRINT : 프린터 작업을 표시화거나 컨트롤한다. 
NET SEND : 네트워크의 다른 컴퓨터에 메시지를 전달한다. 
NET SESSION : 서버와 워크스테이션과의 세션을 보여주거나 연결 해제한다. 
NET SHARE : 공유 리소스를 작성, 삭제 또는 표시한다. 
NET START : 서비스를 시작하거나 시작된 서비스의 목록을 표시한다. 
NET STATISTICS : Statistics Log를 표시한다. 
NET STOP : 네트워크 서비스의 중단한다. 
NET TIME : 서버나 도메인의 시계가 컴퓨터의 시계와 일치하도록 하는 것이거나 서버나
도메인의 시간을 표시한다. 
NET USE : 컴퓨터를 공유 리소스에 연결하거나 연결 해제하거나 컴퓨터 연결간의 
정보를 본다. 
NET USER : 사용자 계정을 추가하거나 수정, 또는 계정 정보를 본다. 
NET VIEW : 서버의 목록이나 서버에 의해 공유된 리소스를 표시한다. 
PATH : 실행 파일의 찾기 경로를 보여주거나 설정한다. 
PAUSE : 일괄 파일의 처리를 보류하고 메시지를 보여준다. 
POPD : PUSHD 명령으로 저장된 디렉토리로 바꾼다. 
PRINT : 텍스트 파일을 인쇄한다. 
PROMPT : Windows NT 명령 프롬프트를 바꾼다. 
PUSHD : 현재 디렉토리를 저장한 후 디렉토리를 바꾼다. 
RECOVER : 불량이거나 결함이 있는 디스크에서 읽을 수 있는 정보를 복구한다. 
REM : 배치 파일 또는 CONFIG.SYS에서 주석을 기록한다. 
RENAME(REN) : 파일 이름을 바꾼다. 
REPLACE :파일을 대체한다. 
RESTORE : BACKUP 명령으로 백업된 파일을 복원한다. 
RMDIR(RD) : 디렉토리를 지운다. 
SET : Windows NT 환경 변수를 보여주거나, 설정하거나, 지운다, 
SETLOCAL : 일괄 파일에서 환경 변경의 지역화를 시작한다. 
SHIFT : 일괄 파일에서 바꿀 수 있는 매개 변수의 위치를 바꾼다. 
SORT : 입력을 정렬한다. 
START : 지정된 프로그램이나 명령을 별도의 창에서 시작한다. 
SUBST : 경로를 드라이브 문자로 지정한다. 
TIME : 시스템 시간을 보여주거나 설정한다. 
TITLE : CMD.EXE 세션에 대한 창의 창 제목을 설정한다. 
TREE : 드라이브 또는 경로의 디렉토리 구조를 그래픽으로 화면에 표시한다. 
TYPE : 텍스트 파일의 내용을 보여준다. 
VER : Windows NT 버전을 보여준다. 
VERIFY : 파일이 디스크에 올바로 쓰였는지 검증할지 여부를 지정한다. 
VOL : 디스크 볼륨 이름과 일련 번호를 보여준다. 
XCOPY : 파일과 디렉토리 트리를 복사한다. 


16비트 명령어 세트 

APPEND : 프로그램으로 하여금 지정된 디렉토리에 있는 데이터 파일을, 파일이 현재 
디렉터리에 있는 것처럼 하여 열게 한다. 
BACKUP : 다른 디스크로 파일들을 백업한다. 
DEBUG : 프로그램 테스트/편집 도구인 Debug를 실행한다. 
EDIT : 텍스트 파일을 새로 만들거나, 변경하려 할때 한글 MS-DOS 편집기를 사용한다. 
EDLIN : 줄 단위 텍스트 편집기인 EDLIN을 시작한다. 
EXE2BIN : EXE(실행 파일)을 이진 형식으로 변환한다. 
EXPAND : 하나 이상의 압축 파일을 푼다. 
GRAPHICS : 그래픽을 인쇄할 수 있는 프로그램을 읽어들인다. 
LOADFIX : 프로그램을 메모리의 처음 64K에 읽어들여서 실행한다. 
LOADHIGH : 프로그램을 상위 메모리에 읽어들인다. 
MEM : 시스템에서 사용된 메모리 및 사용 가능한 메모리 양을 표시한다. 
QBasic : 한글 MS-DOS QBasic 프로그램 환경을 시작한다. 
SETVER : MS-DOS가 프로그램에 보고하는 버전 번호를 설정한다. 
SHARE : SHARE 프로그램을 시작한다. 

'Server' 카테고리의 다른 글

윈도우 net user 커맨드  (0) 2017.01.06
윈도우 커맨드 net rkill at 등  (0) 2017.01.06
HTTP Method  (0) 2017.01.06
윈도우 제어판/관리콘솔실행명령어  (0) 2017.01.06
캐시 리미터 cache-control  (0) 2017.01.06

HTTP 메소드 종류

 HTTP Method

전송 형태 

설명 

 GET

GET [request-uri]?query_string

HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n 

 GET 요청 방식은 URI(URL)가 가진 정보를 검색하기 위해 서버 측에 요청하는형태이다

 

 HTTP Method

전송 형태 

설명 

 POST

POST [request-uri]?query_string

HTTP/1.1\r\n

HOST:[Hostname] 혹은 [IP] \r\n

Content-Lenght:[Lenght in Bytes] \r\n 

\r\n

[query-string] 혹은 [데이터]

POST 요청 방식은 요청 URI(URL)에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 들어가게 된다. 

 

 HTTP Method

전송 형태 

설명 

 HEAD

HEAD [request-uri] HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n 

HEAD 요청 방식은 GET과 유사한 방식이나 웹 서버에서 헤더 정보 이외에는 어떤 데이터도 보내지 않는다.

웹 서버의 다운 여부 점검(Health Check)이나 웹 서버 정보(버전 등)등을 얻기 위해 사용될 수 있다. 

 

 HTTP Method

전송 형태 

설명 

 OPTIONS

OPTIONS [request-ri]

HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n 

해당 메소드를 통해 시스템에서 지원되는 메소드 종류를 확인할 수 있다. 

 

 HTTP Method

전송 형태 

설명 

 PUT

PUT [request-uri] HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n

Content-Lenght:[Length in Bytes] \r\n

Content-Type:[Content Type] \r\n

\r\n

[데이터] 

 POST와 유사한 전송 구조를 가지기 때문에 헤더 이외에 메시지(데이터)가 함께 전송된다.

원격지 서버에 지정한 콘텐츠를 저장하기 위해 사용되며 홈페이지 변조에 많이 악용되고 있다.

 

 HTTP Method

전송 형태 

설명 

 DELETE

DELETE [request-uri] HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n

\r\n 

 원격지 웹 서버에 파일을 삭제하기 위해 사용되며 PUT과는 반대 개념의 메소드이다.

 

 HTTP Method

전송 형태 

설명 

 TRACE

TRACE [request-uri] HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n

\r\n 

원격지 서버에 Loopback(루프백) 메시지를 호출하기 위해 사용된다. 

 

 HTTP Method

전송 형태 

설명 

 CONNECT

CONNECT [request-uri] HTTP/1.1\r\n

Host:[Hostname] 혹은 [IP] \r\n

\r\n 


'Server' 카테고리의 다른 글

윈도우 커맨드 net rkill at 등  (0) 2017.01.06
윈도우 CMD 명령어  (0) 2017.01.06
윈도우 제어판/관리콘솔실행명령어  (0) 2017.01.06
캐시 리미터 cache-control  (0) 2017.01.06
HTTP Error Code  (0) 2017.01.06

제어판 바로실행 명령어
Contrl Panel의 약자로, 제어판에 나타나는 설정 항목 파일이며, EXE파일과 같이 실행이 가능하다. 일례로 디스플레이 항목의 파일인 desk.cpl파일은 더블 클릭하면 디스플레이 등록 정보가 실행된다. 각 제어판의 항목과 해당 CPL파일의 이름은 다음과 같다.

 

control  제어판
Access.cpl  내게 필요한 옵션
appwiz.cpl   프로그램 추가/제거
bthprops.cpl   블루투스장치설정
desk.cpl   디스플레이 등록정보
firewall.cpl   Windows방화벽
hdwwiz.cpl   새하드웨어추가마법사
inetcpl.cpl   인터넷 등록정보
intl.cpl   국가 및 언어옵션
irprops.cpl   적외선포트 설정
joy.cpl   게임컨트롤러
main.cpl   마우스등록정보
mmsys.cpl   사운드및 오디오장치등록정보
ncpa.cpl   네트워크연결
netsetup.cpl   네트워크설정마법사
nusrmgr.cpl   사용자계정
nwc.cpl   네트워크 게이트웨이
odbccp32.cpl   ODBC데이터원본 관리자
powercfg.cpl    전원옵션 등록정보
sysdm.cpl   시스템등록정보
telephon.cpl   전화및모뎀 옵션 
timedate.cpl   날짜 및 시간 등록정보
wscui.cpl   Windows 보안센터
wuaucpl.cpl   자동업데이트
Sapi.cpl   텍스트 음성 변환설정
control Admintools   관리도구
control Folders   폴더옵션
control Userpasswords   사용자 계정

 

관리콘솔 명령어
certmgr.msc : 인증서
ciadv.msc : 인덱싱서비스
ntmsmgr.msc : 이동식저장소
ntmsoprq.msc : 이동식저장소 운영자 요청
secpol.msc : 로컬보안정책
wmimgmt.msc : WMI(Windows Management Infrastructure)
compmgmt.msc : 컴퓨터 관리
devmgmt.msc : 장치관리자
diskmgmt.msc : 디스크 관리
dfrg.msc : 디스크 조각모음
eventvwr.msc : 이벤트 뷰어
fsmgmt.msc : 공유폴더
gpedit.msc : 로컬 컴퓨터 정책
lusrmgr.msc : 로컬 사용자 및 그룹
perfmon.msc : 성능모니터뷰
rsop.msc : 정책의 결과와 집합
secpol.msc : 로컬 보안설정
services.msc : 서비스
C:\WINDOWS\system32\Com\comexp.msc : 구성요소서비스
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorcfg.msc : .NET Configuration 1.1

 

 

기타 실행 명령어
cmd : 도스명령프롬프트 실행,  단, 윈98은 command
shutdown -i : GUI화면으로 시스템 종료, 재부팅 가능
shutdown -a : 종료 설정 중지
netstat : 인터넷 접속 상황
ipconfig /all : ip주소,게이트웨이,서브넷마스크, DNS서버주소,physical주소
dxdiag : 다이렉트 - X 상태 정보 화면
cleanmgr : 디스크 정리
regedit  : 레지스트리 편집기
netsetup : 네트워크 설정 마법사
calc : 계산기
charmap : 문자표
pbrush , mspaint  : 그림판
cleanmgr : 디스크정리
clipbrd : 클립보드에 복사된 내용 표시
control : 제어판
dxdiag : 다이렉트X 진단도구 및 그래픽과 사운드의 세부정보를 보여줌
eudcedit  : 용자 정의 문자 편집기
explorer : 탐색기
magnify : 돋보기
osk : 화상키보드
winmine : 지뢰찾기
sndrec32 녹음기
wordpad : 워드패드
sndvol32 : 시스템 사운드 등록정보,볼륨조절
sysedit : autoexec.bat, config.sys, win.ini, system.ini 시스템구성편집기
systray : 사운드 볼륨설정 노란색 스피커 아이콘을 트라이목록에 띄움
mobsync : 동기화
msconfig : 시스템 구성요소 유틸리티
msinfo32 : 시스템정보
mstsc : 원격 데스크톱 연결
netstat -na : 현재 열린포트와 TCP/IP 프로토콜정보를 보여줌, 열린포트로 트라이목마형 바이러스 침투 유무확인가능
notepad : 메모장
wab : 주소록
ntbackup : 백업 및 복원 마법사
ping 사이트주소 : 핑테스트 해당 사이트의 인터넷연결 유무 확인
sfc : 시스템 파일 검사기. 시스템 파일을 검사한후 깨지거난 손실된 파일을 원본 압축파일에서 찾아서 복원시켜줌 . 단, 윈2000에서는 cmd실행 후 sfc사용 - 마지막 설정된 값을 다음 윈도우부팅시 곧바로 실행됨[수정]
telnet open 사이트주소 : 텔넷접속명령어
tourstart : 윈도우 기능안내 html 문서표시
winipcfg : 인터넷에 접속된 자신의 아이피 주소를 보여줌) 단, 윈2000은 ipconfig로 변경됨
winver : 윈도우 버전확인
wmplayer : 윈도우 미디어 플레이어
wupdmgr : 윈도우업데이트

--------------------------------------------------------------------------------------------------------------------------

msconfig  시작프로그램 제어등 많은기능 제공 (단, 윈2000은 지원 안함)

regedit   레지스트리 편집기

sysedit   autoexec.bat , config.sys ,win.ini, system.ini 시스템구성편집기

command   도스명령프롬프트 실행 (단,윈2000은 cmd로 변경됨)

telnet open 사이트주소 텔넷접속명령어

netstat -na  현재 열린포트와 TCP/IP 프로토콜정보를 보여줌
   (열린포트로 트라이목마형 바이러스 침투 유무확인가능)

sfc   시스템 파일 검사기
   (단,시스템 파일을 검사한후 깨지거난 손실된 파일을 원본 압축파일에서 찾아서 복원시켜줌)

winipcfg  인터넷에 접속된 자신의 아이피 주소를 보여줌
   (단, 윈2000은 ipconfig로 변경됨)

dxdiag   다이렉트X진단도구 및 그래픽과 사운드의 세부정보를 보여줌

systray   사운드 볼륨설정 노란색 스피커 아이콘을 트라이목록에 띄움

ping 사이트주소  핑테스트 해당 사이트의 인터넷연결 유무 확인

--------------------------------------------------------------------------------
drwatson(9x), drwtsn32(2K,XP), wercon(VISTA)
   에러가 발생하여 컴을 강제 종료 시켜야할 상황등을 겪으셨다면 꼭 알고 있어야할 명령어
   실행하면 에러 다이얼로그 박스를 잡아 줍니다.

msconfig    시작프로그램및 서비스를 중지 시킨다거나 하는등의
   시스템 리소스 확보를 위한 윈도우의 기초적인 환경설정을 할수 있죠.

netstat -na   현재 내컴에 접속되어 있는 IP를 출력 합니다.  부속적인 다양한 옵션이 있습니다.

conf    윈도에서 기본제공하는 원격관리 툴인 netmeeting를 실행시켜줍니다.

ping   상대방 IP로 접속이 가능한지 때려보는 명령
   ping yahoo.co.kr  등..... 회선속도및 대상 컴퓨터의 OS판단이 가능함.

xcopy    copy명령어보다 상당한 기능을 제공하는 복사명령어. 하드의 OS까지 복사 가능함...
   XCOPY C: D: /S/C/H/E/R/K  범용적인 옵션. 예전의 98및 도스시절에 많이 쓰던 명령어 이죠..

ipconfig   명령프롬프터에서 실행시키면 내컴의 IP를 알수 있음
   [config/renew] 동적 IP를 새로이 잡아줌.
   [config/release] 동적 IP를 삭제함

cmd   명령 프롬프트(윈도우 도스)를 실행시키는 명령

sfc /Scannow  오류난 파일을 검색하여 원본으로 재 배치 할때 씁니다.
   파일을 가져올때 윈도우 정품CD가 필요합니다.

regedit   레지스트리 편집기를 실행 합니다.

oobe/msoobe /a   원도우 정품 확인 명령어

scandisk c:  도스상의 명령어로 윈도우위 디스크 검사와 동일 합니다.

ren *.txt *.bak    파일명 바꾸는 도스 명령어
   ren a.txt b.txt  - a.txt 파일을 b.txt 파일로 이름을 바꿈

tracert 대상 사이트 주소 예:tracert yahoo.co.kr
   야후까지  경유해가는 IP를 출력해 줍니다. (IP 를 추적할수도 있죠)

shutdown -a   악성 바이러스및 자동종료 웜등으로 부터 자동종료를 막을때..

dxdiag    컴의 다이렉트 x 버젼확인

deltree   도스에서. 하위 디렉토리까지 포함하여. 삭제 가능한 명령어..
   del이나 erase 보다 막강한 기능제공 (deltree XXX)

mstsc.exe  원격 데스크톱 연결 사용

rcimlby.exe -LaunchRA msn 메신저로 상대에게 원격지원요구

--------------------------------------------------------------------------------

▶ 관리 관련 명령어

certmgr.msc  인증서 관리

ciadv.msc   인덱싱 서비스

compmgmt.msc  컴퓨터 관리
   
devmgmt.msc  장치관리자
   
diskmgmt.msc  디스크 관리
   
dfrg.msc   디스크 조각모음
   
eventvwr.msc  이벤트 뷰어
    
fsmgmt.msc  공유폴더
   
gpedit.msc  로컬 컴퓨터 정책
   
lusrmgr.msc  로컬 사용자 및 그룹

ntmsmgr.msc  Removable Storage

ntmsoprq.msc  이동식 저장소 운영자 요청

perfmon.msc  성능모니터뷰
   
rsop.msc   정책의 결과와 집합
   
secpol.msc  로컬 보안설정
   
services.msc  서비스

wmimgmt.msc  WMI 서비스 구성

comexp.msc  comexp 구성 요소 서비스

control userpasswords2 사용자 계정

mmc   콘솔루터

taskmgr   윈도우 작업 관리자

fltmc   필터 드라이버 로딩 언로딩 및 목록 보기 mini filter 라서 XP SP2 이후 부터.

fsutil   파일 시스템 관련 정보 및 쿼리 가능. 파일 공간 잡기

net   service나 드라이버 로딩 및 시작(start), 정지(stop)

tasklist   프로세스 리스트 확인

attrib   파일속성 변경


--------------------------------------------------------------------------------


▶시작메뉴명령어들

Accessibility Wizard [Accwiz.exe]   내게 필요한 옵션 마법사

Narrator [Narrator.exe ]    내레이터

Address book [Wab.exe]    주소록 - 주ID

Notepad [Notepad.exe ]    메모장

Backup [Ntbackup.exe]    백업및 복원 마법사

On-Screen Keyboard [Osk.exe ]   화상키보드

Calculator [Calc.exe]    계산기

Outlook Express [Msimn.exe ]   아웃룩 익스프레스

Character map [Charmap.exe]    문자표

Paint [Mspaint.exe ]     그림판

Command prompt [Cmd.exe]    명령프롬프트

Pinball [Pinball.exe ]    핀볼

Data sources (ODBC) [Odbcad32.exe]   ODBC 데이터 원본 관리자

Remote Assistance [Rcimlby.exe ]   MSN

Disk cleanup [Cleanmgr.exe]    디스크 정리

Remote Desktop Connection [Mstsc.exe ]  원격 데스크톱 연결

FreeCell [Freecell.exe]    프리셀

Solitaire [Sol.exe ]     카드놀이

Files and Settings Transfer Wizard [Migwiz.exe]  파일 및 설정 전송 마법사

Sound Recorder [Sndrec32.exe ]   녹음기

Hearts [Mshearts.exe]    하트 네트워크

Spider Solitaire [Spider.exe ]    스파이더

HyperTerminal [Hypertrm.exe]   하이퍼터미널

System Information [Msinfo32.exe]   시스템 정보

Internet Backgammon [Bckgzm.exe]   주사위 놀이

System Restore [Rstrui.exe]    시스템 복원

Internet Checkers [Chkrzm.exe]   체커 온라인

Tour Windows XP [Tourstart.exe ]   XP의 새로운 기능을 경험해 보세요.

Internet Explorer [Iexplore.exe]   익스플로러

Utility Manager [Utilman.exe ]    유틸리티 관리자

Internet Hearts [Hrtzzm.exe]    하트 온라인

Windows Media Player [Wmplayer.exe ]   윈도우 미디어 플레이어

Internet Reversi [Rvsezm.exe]    리버시 온라인

Windows Messenger [Msmsgs.exe ]   MSN창모드

Internet Spades [Shvlzm.exe]    스페이드 온라인

Windows Movie Maker [Moviemk.exe ]   무비메이커

Magnifier [Magnify.exe]    윈도우 돋보기

Windows Update [Wupdmgr.exe ]   윈도우 업데이트

Minesweeper [Winmine.exe]    지뢰찾기

WordPad [Wordpad.exe ]    워드패드

MSN Explorer [Msn6.exe]    MSN 익스플로러

[dfrg.msc]     디스크 조각모음

[winver]      윈도우 정보

[explorer]     윈도우 탐색기

--------------------------------------------------------------------------------

▶ 제어판의 모듈실행 명령어

[Access.cpl]     내게필요한옵션

[Mmsys.cpl]     사운드 및 오디오 장치 등록정보

[Appwiz.cpl]     프로그램추가제거

[Nusrmgr.cpl]     사용자계정

[Desk.cpl]     디스플레이등록정보

[Nwc.cpl]      Client Service for NetWare

[Hdwwiz.cpl]     하드웨어추가마법사

[Odbccp32.cpl]     ODBC 데이터 원본 관리자

[Inetcpl.cpl]     인터넷등록정보

[Powercfg.cpl]     전원옵션등록정보

[Intl.cpl]      국가및언어옵션

[Sysdm.cpl]     시스템등록정보

[Joy.cpl]      게임컨트롤러 

[Telephon.cpl]     전화및모뎀옵션

[wscui.cpl]     보안센터

[control admintools ]    관리도구

[Ncpa.cpl]     네트워크 연결

[Main.cpl]     마우스 등록정보

[control keyboard]     키보드 등록정보

[control Folders]     폴더옵션

[mrt]      악성소프트웨어 제거도구


'Server' 카테고리의 다른 글

윈도우 CMD 명령어  (0) 2017.01.06
HTTP Method  (0) 2017.01.06
캐시 리미터 cache-control  (0) 2017.01.06
HTTP Error Code  (0) 2017.01.06
FTP vs NTFS  (0) 2017.01.06

Cache-Control 메커니즘

HTTP/1.1의 기본적인 캐시 메커니즘(서버설정 만기시간 및 검증자)은 캐시에 내장된 지시자입니다. 때에 따라서는 서버나 클라이언트에게 HTTP 캐시를 위해 명시된 지시자 제공할 필요가 있습니다. Cache-Control 헤더를 이 목적으로 사용합니다.

Cache-Control 헤더는 클라이언트나 서버가 요구나 응답의 다양한 지시자를 전달할 수 있도록 합니다. 이 지시자는 대개의 경우 기본 캐시 알고리즘을 무시합니다. 보편적인 원칙으로 만약 헤더값 사이에 분명한 충돌이 있으면 가장 엄격한 - 가장 의미투명한 동작을 할 수 있는 - 해석을 하여야 합니다.

원서버가 응답할 수 있는 캐시 지시자

Cache-Control 일반 헤더 필드는 요구/응답 체인에 따라 모든 캐시 메커니즘이 반드시 따라야 하는 지시자를 표시하는데 사용합니다. 여기서는 응답에서 사용되는 캐시지시자(cache-directive)에 대하여 알아봅니다. 요구에서 사용되는 캐시 지시자에 대하여는 관련 문서를 참조바랍니다.

Cache-Control: public
             | private
             | no-cache
             | no-store
             | no-transform
             | must-revalidate
             | proxy-revalidate
             | max-age
             | cache-extension

캐시 제한자(public, private, no-cache)

Cache-Control 응답 지시자 중에서 public, private, no-cache는 원서버가 응답의 캐시 가능성을 무시할 수 있도록 합니다.

public

보통은 비공유 캐시 내에서만 캐시할 수 있거나(private) 캐시할 수 없지만(no-cache) public은 모든 공유/비공유 캐시에서 응답을 캐시할 수 있도록 지정합니다.

private

응답 메시지의 전체 또는 일부분을 단일 사용자만이 사용하며 절대로 공유 캐시(shared cache)에 의해 캐시해서는 안됨을 표시합니다. 원서버가 응답의 특정 부분이 단일 사용자만을 위한 것이며 다른 사용자의 요구에 대한 유효한 응답은 아니라는 것을 명시할 수 있도록 합니다.

no-cache

응답의 전체 또는 부분을 캐시해서는 안된다는 것을 나타냅니다. 원서버가 클라이언트 요구에 낡은 응답(stale response)을 리턴하도록 설정된 캐시에 의해서도 캐시를 하지 못하도록 합니다. 대부분의 HTTP/1.0 캐시는 이 지침을 인지하지 못하거나 따르지 않을 것입니다.

캐시 저장 금지(no-store)

no-store 지시자의 목적은 부주의하게 민감한 정보를 백업테이프와 같은 곳에 보유하거나 배포하는 것을 방지하는 것입니다. no-store 지시자는 요구/응답 모두에 발송할 수 있습니다. 요구에 포함하여 발송하게 되면 캐시는 요구의 어떤 부분 또는 이 요구에 대한 어떠한 응답도 캐시해서는 안됩니다. 응답에 발송하게 되면 캐시는 이 응답의 어떤 부분 또는 응답을 이끌어 낸 요구를 저장해서는 안됩니다. 이 지시자는 비공유 및 공유 캐시에 모두 적용됩니다.

만기일 메커니즘의 변경(max-age)

원서버는 expires 헤더를 이용하여 엔터티의 만기시간을 명시합니다. 대안으로 응답에 max-age 지시자를 사용하여 표시할 수도 있습니다.

응답에 expires 헤더 및 max-age 지시자가 모두 포함되어 있으면 max-age 지시자는 expires 헤더가 더 제한적이라 할지라도 이를 무시합니다. 이 원칙은 원서버가 HTTP/1.0 캐시에 HTTP/1.1 캐시(또는 이후 버전)보다 긴 만기시간을 응답에 부여할 수 있도록 합니다. HTTP/1.0 캐시가 동기화되지 않은(desynchronized) 시계때문에 부적절하게 경과시간이나 만기시간을 계산했을 때 유용합니다.

캐시된 사본을 원서버가 직접적으로 검증하도록 강요하여 응답을 명확히 하려면 아래와 같이 max-age 값을 0으로 지정합니다.

Cache-Control: max-age=0

캐시의 재검증(must-revalidate)

규약은 원서버가 계속되는 캐시 사용에 대한 캐시 엔트리 검증을 요구할 수 있는 메커니즘을 포함하고 있습니다. must-revalidate 지시자가 캐시가 수신한 응답에 포함되어 있고 캐시가 계속되는 요구에 응답하기에는 낡아진 이후에 캐시는 먼저 원서버에 이를 재검증하기 전에는 엔트리를 사용해서는 안됩니다.

must-revalidate 지시자는 특정 규약 기능의 안정된 운영을 위해서 필요합니다. 어떠한 경우이든 HTTP/1.1 캐시는 must-revalidate 지시자를 반드시 따라야 합니다.

비변경 지시어(no-transform)

구현된 중간 캐시(프록시)에서 특정 엔터티 본문의 media type을 변환하는 것이 유용할 수 있습니다. 예를 들어 프록시는 캐시 공간을 절약하거나 느린 링크 상의 트래픽 양을 줄이기 위해 이미지의 포맷을 변환할 수 있습니다. 그러나 특정 종류의 애플리케이션에 사용할 엔터티 본문에 이러한 변환을 적용했을 때 심각한 운영 문제가 발생하게 됩니다. 예를 들어 의료 이미지 처리, 과학적 자료 분석 및 end-to-end 인증에 사용되는 애플리케이션은 모두 원서버의 엔터티 본문와 비트 단위까지 동일한 엔터티 본문을 수신하는 방식에 의존하고 있습니다.

따라서 응답이 no-transform 지시자를 포함하고 있으면 중간 캐시나 프록시는 Content-Encoding, Content-Length, Content-Range, Content-Type와 같은 헤더 필드 값을 절대로 변경해서는 안됩니다.

캐시 제어 확장(cache-extension)

Cache-Control 헤더 필드는 하나 또는 그 이상의 cache-extension 토큰을 이용하여 각각 선택적으로 부여된 값을 가지고 확장할 수 있습니다. 정보 확장(informational extensions - 캐시 동작에 변화를 요구하지 않는)은 다른 지시자의 의미를 변화시키지 않고도 추가할 수 있습니다 동작 확장(behavioral extensions)은 캐시 지시자의 기본 베이스에 대한 변경자의 역할을 수행하도록 디자인 되었습니다. 새로운 지시자 및 표준 지시자 모두가 제공되었을 때 새로운 지시자를 이해하지 못하는 애플리케이션은 표준 지시자가 명시한 동작에 기본적으로 따르며 새로운 지시자를 이해하는 애플리케이션은 이를 표준 지시자와 관련된 필요 조건의 변경으로 인식합니다. 이러한 방식으로 지시자를 기본 규약에 대한 변경을 요구하지 않고도 확장할 수 있습니다.

인지할 수 없는 캐시지시자는 무시해야 합니다. HTTP/1.1 캐시가 인지하지 못하는 모든 캐시지시자는 캐시가 확장을 이해하지 못하더라도 최소한도로 이러한 캐시 동작이 정학한 것으로 유지되도록 표준 지시자(또는 응답의 캐시 제한자)와 결합되어 있다고 가정합니다.

IE5에서의 캐시 제어 확장

post-check, pre-check 지시자는 익스플로러 5.0부터 제공되기 시작한 캐시 제어 메커니즘입니다. 이 헤더는 이전 버전의 익스플로러나 다른 브라우저에서는 무시됩니다. 이 2개의 헤더에 의해 문서는 캐시로부터 가져오기 때문에 문서를 빠르게 표시할 수 있습니다. 캐시는 웹서버의 최신의 문서를 기초로 갱신되므로, 다음에 사용자가 이 페이지를 방문헸을 때에는, 새로이 갱신된 문서가 표시됩니다.

post-check 및 pre-check에 대한 상세한 정보는 http://msdn.microsoft.com/workshop/author/perf/perftips.asp를 참조하세요.

post-check

post-check에 설정된 시간(초)이 지나고 나서부터는 사용자에게 캐시문서를 보낸 후 엔터티가 신선한 지 확인합니다. 문서를 보낸 후(post)에 엔터티가 신선한 지 확인하는 고로 post-check라고 합니다. 이와 같은 이유로 인하여 금번에 받은 문서는 낡은 문서일 수 있습니다. 그러나 다음 방문 때는 새로이 갱신된 캐시문서를 분명히 보게 됩니다.

pre-check

pre-check에 설정된 시간(초)이 지나고 나서부터는 엔터티가 신선한 지 먼저 확인한 후 사용자에게 문서를 보냅니다. 문서를 사용자에게 보내기 전(pre)에 엔터티가 신선한 지 확인하는 고로 pre-check라고 합니다.

post-check 및 pre-check에 의한 캐시 동작

IE5 캐시 제어 메커니즘

브라우저가 캐시에 있는 문서를 가져오도록 요구할 때, HTTP 응답 헤더로 서버에서 클라이언트로 보내지는 캐시 엔트리에 캐시 제어 확장(cache-control extensions)가 포함되어 있으면, 브라우저는 서버로부터 가장 최신의 자료를 가져올 시기를 결정하기 위해 캐시 제어 확장과 다음 로직을 이용하게 됩니다.

- post-check 구간을 아직 지나지 않았다면, 간단하게 캐시로 부터 해당 페이지를 검색합니다.

- 마지막 요구가 있은 후 경과 시간이 post-check와 pre-check 구간 사이에 있다면 캐시로부터 해당 페이지를 보여주고, 갱신된 페이지를 가져와서 캐시에 저장합니다.

- 사용자가 해당 페이지를 재요구한 시간이 pre-check 구간을 지났다면, 우선 HTTP 서버에게 브라우저가 해당 페이지를 마지막으로 요구한 이래로 수정되었는지 확인합니다. 해당 페이지가 수정되었다면 가져와서 갱신된 페이지를 보여줍니다.

Refresh 버튼(F5 키를 포함하여)은 서버에게 항상 if-modified-since 요구를 보내기 때문에 위의 로직에 따라 동작하지는 않을 것입니다. 하이퍼링크(hyperlink)는 위의 로직에 따라 동작합니다.

IE5의 캐시 동작

post-check 및 pre-check 지시자를 지정하게 되면 검색 대상이 되고 있는 문서는 다음과 같은 순서로 캐시가 처리됩니다.

첫째, 사용자가 페이지를 처음으로 방문하면, 문서는 웹서버로부터 취득되어 캐시에 저장됩니다.

둘째, 사용자가 페이지를 2번째에 방문하면, 문서는 캐시로부터 표시되며, 캐시 내의 데이터는 웹서버를 기초로 갱신됩니다.

이후에 문서는 캐시로부터 취득되므로, 페이지는 단시간에 로드되어 그 후로 캐시가 서버의 문서를 기초로 갱신됩니다.

post-check, pre-check에 의한 캐시 제어 구조는 항상 변화를 계속하고 있는 주식 정보 등의 데이터에는 적합하지 않습니다만, 가끔 변경되는 따라서 매회 갱신할 필요가 없는 문서의 경우에는 잘 동작합니다. 예를 들어, MSN.com 사이트의 네비게이션 유저 인터페이스는 자주 바뀌지 않기 때문에, post-check 및 pre-check 설정으로 마크되어 있습니다.

다음은 각각의 캐시 제어 메커니즘에 적합한 조건을 나타내었습니다.

***자주 갱신되는 컨텐트가끔 갱신되는 컨텐트비교적 정적인 컨텐트
사용예주식정보사이트 네비게이션회사로고
캐시 제어 설정의 예컨텐츠를 즉시 기한 마감으로 한다.
(예: Expires: 0)
post-check와 pre-check를 사용한다.
(예: Cache-Control: post-check=50, pre-check=100)
유효기간을 먼 미래에 설정한다.
(예: Expires: Thu, 01 Dec 2002 16:00:00 GMT)

Expires 헤더 필드

Expires 엔터티 헤더 필드에 지정된 시간이 지나면 응답이 낡았다고 간주해야 하는 날짜를 제공합니다. 캐시(프록시 캐시 또는 사용자 에이전트 캐시)는 대개 먼저 원서버(또는 엔터티의 신선한 복사본을 가지고 있는 중간 캐시)가 검증하지 않는 한 낡은 캐시 엔트리를 리턴하지 않습니다.

Expires 필드가 존재한다는 것이 그 시간 이전 또는 이후에 원래의 자원이 변경되거나 사라진다는 것을 의미하지는 않습니다.

Expires 필드는 RFC1123-date 포맷으로 작성된 절대 날짜와 시간입니다.

Expires: Thu, 01 Dec 1994 16:00:00 GMT

앞에서도 언급하였듯이 응답이 max-age 지시자를 포함한 Cache-Control 필드를 포함하고 있으면 expires 필드는 무시됩니다.

HTTP/1.1 클라이언트와 캐시는 반드시 다른 유효하지 않는 날짜 포맷을, 특히 "0" 값을 포함하고 있는 날짜 포맷을 지나간 날짜로 취급해야 합니다.(예를 들면 "벌써 만료된(already expired)"으로)

응답을 "벌써 만료된(already expired)" 것으로 표시하기 위해서 원서버는 expires 날짜를 Date 헤더 필드와 동일한 것으로 사용해야 합니다.

응답을 "결코 만료되지 않는(never expires)" 것으로 표시하기 위해서 원서버는 expires 날짜를 대략 응답이 발송된 후 시점부터 1년 후를 지정합니다. HTTP/1.1 서버는 향후 1년 이상된 expires 날짜를 발송하지 말아야 합니다.

기본적으로 캐시할 수 없는 응답에 미래의 특정 시간의 시간값과 함께 expires 헤더 필드가 존재하면 Cache-Control 헤더 필드가 다른 식으로 표시하지 않는 한 응답을 캐시할 수 있다는 것을 표시합니다.

Last-Modified 헤더 필드

Last-Modified 엔터티 헤더 필드는 원서버가 변형자(variant)가 마지막으로 변경되었다고 믿는 날짜와 시간을 표시합니다.

Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

원서버는 절대 서버의 메시지 발생 시간보다 늦은 Last-Modified 날짜를 발송해서는 안됩니다. 이처럼 자원의 최근 변경이 미래의 특정 시간을 표시하는 경우 서버는 그 날짜를 메시지 발생 날짜로 대체해야 합니다.

기본 서버는 엔터티의 Last-Modified 값을 응답의 Date 값을 생성한 시간과 가능한 한 가까운 것을 얻어야 합니다. 이것은 수신측이 특히 엔터티가 응답이 생성된 시간에 가깝게 변경되었을 때 정확하게 엔터티의 변경 시간을 평가할 수 있도록 합니다.

HTTP/1.1 서버는 가능할 때 마다 반드시 Last-Modified를 발송해야 합니다.

Pragma 헤더 필드

Pragma 일반 헤더 필드는 요구/응답 체인을 따라 어떤 수신측에도 적용할 수 있는 구현 방식에 한정된 지시자(implementation-specfic)를 포함하는데 사용합니다.

Pragma: no-cache

no-cache 지시자는 요구 메시지에 존재하면 애플리케이션은 요구되고 있는 것으 캐시 사본을 가지고 있다 하더라도 요구를 원서버에 전달해야 합니다. 이 Pragma 지시자는 no-cache 캐시지시자와 동일한 의미를 가지며 여기서는 HTTP/1.0과의 호환성 유지를 위해 규정하였습니다. 클라이언트는 no-cache 요구가 HTTP/1.1을 따르지 않는 것으로 알려진 서버로 전달되었을 때 두 헤더 필드를 모두 포함해야 합니다.

HTTP/1.0에서 캐시 등을 제어하기 위해 사용되었으나 HTTP/1.1에서는 사용되지 않습니다. 따라서 HTTP/1.1 클라이언트는 Pragma 요구 헤더를 발송해서는 안됩니다. HTTP/1.1 캐시는 "Pragma: no-cache"를 클라이언트가 "Cache-Control: no-cache"를 발송한 것처럼 취급해야 합니다.

'Server' 카테고리의 다른 글

HTTP Method  (0) 2017.01.06
윈도우 제어판/관리콘솔실행명령어  (0) 2017.01.06
HTTP Error Code  (0) 2017.01.06
FTP vs NTFS  (0) 2017.01.06
ssh 이용하여 tar 로 원격 백업하기  (0) 2017.01.06

+ Recent posts