주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
꽃배달 한국, 중국 전지역배송

초보자를 위한 HTTP이해 Part06

| 2010.02.28 17:09:42 댓글: 0 조회: 1496 추천: 0
분류웹 디자인 https://life.moyiza.kr/itstudy/1750735
HTTP Request(요청) Headers 상세정보

HOST

HTTP요청을 보낼 특정 도메인.
PHP에서는 $_SERVER['HTTP_HOST'] 혹은 $_SERVER['SERVER_NAME'] 로 알아볼수 있습니다.

User-Agent

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)

여기서 담고 있는 내용은:
1. 웹브라우저 및 버전
2. 운영체제계열 및 해당 정보
3. locale언어

이런 정보들의 임의적 노출때문에 아까 말하던것처럼 해당 웹서버(Mozilla처럼)는 우리들을 요해하고 가장 적절한 방법으로 우리에게 자신의 웹을 표현하려고 하죠. PHP에서 쓰는 방법을 보면, 

if ( strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 6') ) {
echo "Please stop using IE6!";
}

우리가 IE6으로 접속을 시도한다면 "Please stop using IE6!"이라는 메시지로 ie6을 버리라고 권장하고 있습니다.

Accept-Language

Accept-Language: en-us,en;q=0.5

사용자의 언어환경을 감별하려는데 쓰이고 있습니다. 저같은 경우는 xp-sp3-pro-eng라 google.com이나 mozilla를 띄우면 영어로 된 환경을 보여주고 프로그램 다운로드도 아예 모두 영어버전으로 세팅되만 중국어나 한국어로 windows를 부팅하면 또 사용자 세팅과 같은 언어로 세팅해주겠죠.

다국어언어세팅일 경우 첫번째는 최우선 언어종류, 나머지는 ",'으로 구분하고 기다언어에 "q"라는 별칭에 사용애호정도를 0~1사이의 값으로 표현합니다. PHP에서 응용할시,

if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) == 'fr') {
header('Location: http://french.mydomain.com');
}

Accept-Encoding

Accept-Encoding: gzip,deflate

웹리소스를 그냥 그대로 가져온다기보다 우리는 압축된 상태로 전송하는 방법을 쓰고 있습니다. 보통 gzip이라는 압축방법을 쓰는데 압축된 상태로 전송할 경우 최대로 80%의 사이즈를 줄임으로서 더 효과적으로 bandwith를 관리가 가능하게 되죠.

If-Modified-Since

만약 해당 웹리소스가 우리의 cache부분에 이미 저장되어 있을 경우, 다시 한번 접속을 시도할때 웹브라우저는 기존의 리소스가 修正이 되었는지 여부를 먼저 판단하게 됩니다. 개인적으로 별로 이 부분을 써 본적이 없어 더 많이는 설명을 못드리니다-.-;

Cookie

Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120; foo=bar

먹을수 있는 쿠키가 아니구, 쉽게 이해해서 우리와 서버와의 현재 관계를 기록하고 있는 값입니다. 쿠키에는 세션도 포함이 가능하구요. 해당 쿠키는 $_COOKIE array로 받을수 있고 $_SESSION array로 세션부분도 받을수 있습니다. session id가 필요할 경우 직접 session_id()함수로 cookie를 대체도 가능하구.

echo $_COOKIE['foo'];
// output: bar
echo $_COOKIE['PHPSESSID'];
// output: r2t5uvjq435r4q7ib3vtdjq120
session_start();
echo session_id();
// output: r2t5uvjq435r4q7ib3vtdjq120

Referer

이름 그대로 참조된 url를 뜻합니다. 예를 들어 모이자내부에서 한개 링크를 클릭할 경우,

Referer: life.moyiza.kr

이런 식으로 나오겠죠. 사실 영어단어측에서 spelling이 referer가 아니라 referrer이지만 이미 HTTP spec에 제정된지 오래돼서 아예 재미로 그냥 그대로 두고 있다네요.

Authorization

Authorization: Basic bXl1c2VyOm15cGFzcw==

암호화 된 페이지에 접속할 경우 이런 HTTP요청을 보내게 됩니다. 값을 살펴봅시다. 'Basic bXl1c2VyOm15cGFzcw==' 라는 내용은 base64 encoded인데 해석해버리면 base64_decode(‘bXl1c2VyOm15cGFzcw==’)는 ‘myuser:mypass’ 라는 식으로 됩니다.




추천 (0) 선물 (0명)
IP: ♡.245.♡.157
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11792
관리자
2003-09-20
11343
관리자
2003-09-20
20434
지구인
2010-08-27
19277
지구인
2009-09-07
13582
SOLIDH
2010-01-29
15552
엔죠라이프
2004-10-07
16655
자유의검
2010-03-15
2329
자유의검
2010-03-14
2544
자유의검
2010-03-14
1617
자유의검
2010-03-14
1400
자유의검
2010-03-14
1322
자유의검
2010-03-14
1370
엔죠라이프
2010-03-11
1105
커피한잔76
2010-03-09
3992
rblueberry
2010-03-08
2341
2010-03-01
3449
2010-02-28
1867
2010-02-28
1496
2010-02-27
1342
2010-02-27
1355
2010-02-27
1365
2010-02-27
1424
2010-02-27
3587
엔죠라이프
2010-02-26
2284
신규가입
2010-02-25
9894
2010-02-20
2179
신규가입
2010-02-20
4590
모이자 모바일