<nowrap>
'웹' 카테고리의 다른 글
URL redirect (0) | 2016.04.26 |
---|---|
iframe (0) | 2016.04.25 |
X11 색상 이름 (0) | 2016.04.25 |
HTML 특수문자코드표 (0) | 2016.04.25 |
CGI와 PHP 관계 (0) | 2015.10.16 |
<nowrap>
URL redirect (0) | 2016.04.26 |
---|---|
iframe (0) | 2016.04.25 |
X11 색상 이름 (0) | 2016.04.25 |
HTML 특수문자코드표 (0) | 2016.04.25 |
CGI와 PHP 관계 (0) | 2015.10.16 |
http://polyeffect.com/blog/url_rediretion/
웹 페이지를 만들다 보면 여러 가지 이유로 URL을 redirection 해야 할 때가 있습니다.
몇 가지 방법이 있는데요, 이 포스트에서는 가장 일반적인 두 가지 방법을 소개하겠습니다.
먼저, Meta태그를 사용하는 방법입니다.
content=” 다음에 오는 1은 시간을 나타냅니다. 1초 뒤에 지정한 URL로 redirection 됩니다.
즉시 이동을 하고 싶으시면 0으로 조정하면 됩니다.
http-equiv 속성은 현재 인터넷 익스플로러를 포함한 모든 브라우저를 지웝합니다.
다음으로 javascript를 사용하는 방법입니다.
window.location.replace를 쓸 경우 히스토리를 남기지 않아 뒤로가기를 할 수 없게 만들어 줍니다.
웹 페이지를 완전히 다른 페이지로 이동시키고 싶은 경우에 유용합니다.
히스토리를 남겨 뒤로가기가 되게 하고싶으신 분은
이렇게 사용하시면 됩니다.
개인적으로 meta 태그와 javascript를 함께 사용합니다.
제 홈페이지의 소스코드를 보면 다음과 같습니다.
http://polyeffect.com 으로 접속하면 http://polyeffect.com/blog로 redirection시켜줍니다.
HTML 줄바꿈 (0) | 2016.04.26 |
---|---|
iframe (0) | 2016.04.25 |
X11 색상 이름 (0) | 2016.04.25 |
HTML 특수문자코드표 (0) | 2016.04.25 |
CGI와 PHP 관계 (0) | 2015.10.16 |
http://www.homejjang.com/05/iframe.php
아이프레임이란 내부 프레임(inline frame)이라는 의미로 하나의 HTML문서내에서 다른 HTML문서를 보여주고자 할때 사용합니다.
일반적인 프레임(frame)과 비교해보면 아이프레임은 <frameset> 태그 사이에 올 필요가 없으며, 독립적으로 마치 <img> 태그를 사용하듯 문서내의 원하는 위치에 삽입할 수 있습니다.
아이프레임에서 사용할 수 있는 속성도 <img> 태그과 유사합니다.
src 속성
inline frame 내에 불러올 문서의 주소를 적어주면 됩니다.
홈짱 홈페이지를 불러오는 예제를 만들어 보겠습니다.
<iframe src="http://www.homejjang.com"> |
width와 height 속성
inline frame의 너비와 높이를 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" width="600" height="300"> |
frameborder 속성
inline frame의 경계선의 두께를 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" frameborder="0" width="600" height="300"> |
marginwidth와 marginheight
inline frame의 여백을 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" frameborder="0" width="600" height="300" marginwidth="0" marginheight="0"> |
scrolling
inline frame내에서 스크롤바 사용여부를 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" frameborder="0" width="600" height="300" marginwidth="0" marginheight="0" scrolling="yes"> |
scrolling 값을 no로 지정하면 스크롤바가 생기지 않습니다.
HTML 줄바꿈 (0) | 2016.04.26 |
---|---|
URL redirect (0) | 2016.04.26 |
X11 색상 이름 (0) | 2016.04.25 |
HTML 특수문자코드표 (0) | 2016.04.25 |
CGI와 PHP 관계 (0) | 2015.10.16 |
추가적으로, 넷스케이프나 인터넷 익스플로러 같은 브라우저에는 별도로 여러 색상들이 정의되었으며, 특정한 브라우저에서는 이런 색상을 인식하지 못할 수도 있다. 이들 색상 중 다수가 X 윈도 시스템에서 분류된 X11 색상 이름에서 가져온 것이다. CSS를 지원하는 대부분의 HTML 사용자 에이전트가 이 색상들을 지원한다.
아래는 X11 색상 이름과 각각에 해당하는 16진수 코드의 목록이다.
색상 | 16진수 | 색상 | 16진수 |
---|---|---|---|
indianred | #cd5c5c | darksalmon | #e9967a |
lightcoral | #f08080 | salmon | #fa8072 |
orangered | #ff4500 | red | #ff0000 |
crimson | #dc143c | firebrick | #b22222 |
darkred | #8b0000 | mediumvioletred | #c71585 |
pink | #ffc0cb | lightpink | #ffb6c1 |
hotpink | #ff69b4 | deeppink | #ff1493 |
palevioletred | #db7093 | darkkhaki | #bdb76b |
khaki | #f0e68c | palegoldenrod | #eee8aa |
lightgoldenrodyellow | #fafad2 | lightyellow | #ffffe0 |
lemonchiffon | #fffacd | yellow | #ffff00 |
gold | #ffd700 | papayawhip | #ffefd5 |
moccasin | #ffe4b5 | peachpuff | #ffdab9 |
cyan | #00ffff | aqua | #00ffff |
aquamarine | #7fffd4 | turquoise | #40e0d0 |
mediumturquoise | #48d1cc | darkturquoise | #00ced1 |
cadetblue | #5f9ea0 | slategray | #708090 |
lightcyan | #e0ffff | paleturquoise | #afeeee |
powderblue | #b0e0e6 | lightsteelblue | #b0c4de |
steelblue | #4682b4 | lightblue | #add8e6 |
skyblue | #87ceeb | lightskyblue | #87cefa |
deepskyblue | #00bfff | cornflowerblue | #6495ed |
royalblue | #4169e1 | mediumslateblue | #7b68ee |
dodgerblue | #1e90ff | blue | #0000ff |
mediumblue | #0000 cd | darkblue | #00008b |
navy | #000080 | midnightblue | #191970 |
lightsalmon | #ffa07a | orange | #ffa500 |
darkorange | #ff8c00 | coral | #ff7f50 |
tomato | #ff6347 | orangered | #ff4500 |
aquamarine | #7fffd4 | mediumspringgreen | #00fa9a |
springgreen | #00ff7f | palegreen | #98fb98 |
greenyellow | #adff2f | chartreuse | #7fff00 |
lawngreen | #7cfc00 | lime | #00ff00 |
lightgreen | #90ee90 | yellowgreen | #9acd32 |
limegreen | #32cd32 | mediumseagreen | #3cb371 |
darkseagreen | #8fbc8f | forestgreen | #228b22 |
seagreen | #2e8b57 | green | #008000 |
olivedrab | #6b8e23 | olive | #808000 |
darkolivegreen | #556b2f | darkgreen | #006400 |
mediumaquamarine | #66cdaa | turquoise | #40e0d0 |
lightseagreen | #20b2aa | darkcyan | #008b8b |
teal | #008080 | lavender | #e6e6fa |
thistle | #d8bfd8 | plum | #dda0dd |
violet | #ee82ee | fuchsia | #ff00ff |
magenta | #ff00ff | orchid | #da70d6 |
mediumorchid | #ba55d3 | darkorchid | #9932cc |
blueviolet | #8a2be2 | darkviolet | #9400d3 |
mediumpurple | #9370db | slateblue | #6a5acd |
purple | #800080 | darkmagenta | #8b008b |
darkslateblue | #483d8b | indigo | #4b0082 |
honeydew | #f0fff0 | mintcream | #f5fffa |
azure | #f0ffff | aliceblue | #f0f8ff |
ghostwhite | #f8f8ff | whitesmoke | #f5f5f5 |
lavenderblush | #fff0f5 | mistyrose | #ffe4e1 |
antiquewhite | #faebd7 | seashell | #fff5ee |
snow | #fffafa | white | #ffffff |
beige | #f5f5dc | linen | #faf0e6 |
oldlace | #fdf5e6 | floralwhite | #fffaf0 |
ivory | #fffff0 | gainsboro | #dcdcdc |
lightgrey | #d3d3d3 | silver | #c0c0c0 |
darkgray | #a9a9a9 | gray | #808080 |
dimgray | #696969 | darkslategray | #2f4f4f |
lightslategray | #778899 | slategray | #708090 |
cornsilk | #fff8dc | blanchedalmond | #ffebcd |
bisque | #ffe4c4 | navajowhite | #ffdead |
wheat | #f5deb3 | sandybrown | #f4a460 |
goldenrod | #daa520 | darkgoldenrod | #b8860b |
peru | #cd853f | chocolate | #d2691e |
maroon | #800000 | saddlebrown | #8b4513 |
brown | #a52a2a | sienna | #a0522d |
darkred | #8b0000 | burlywood | #deb887 |
tan | #d2b48c | rosybrown | #bc8f8f |
black | #000000 |
URL redirect (0) | 2016.04.26 |
---|---|
iframe (0) | 2016.04.25 |
HTML 특수문자코드표 (0) | 2016.04.25 |
CGI와 PHP 관계 (0) | 2015.10.16 |
HTTP 프로토콜 (0) | 2015.09.30 |
http://egloos.zum.com/keep/v/1030642
HTML 특수문자코드표
표현문자 |
숫자표현 |
문자표현 |
설명 |
- |
�- |
- |
사용하지 않음 |
space |
	 |
- |
수평탭 |
space |
|
- |
줄 삽입 |
- |
- |
- |
사용하지 않음 |
space |
  |
- |
여백 |
! |
! |
- |
느낌표 |
" |
" |
" |
따옴표 |
# |
# |
- |
숫자기호 |
$ |
$ |
- |
달러 |
% |
% |
- |
백분율 기호 |
& |
& |
& |
Ampersand |
' |
' |
- |
작은 따옴표 |
( |
( |
- |
왼쪽 괄호 |
) |
) |
- |
오른쪽 괄호 |
* |
* |
- |
아스트릭 |
+ |
+ |
- |
더하기 기호 |
, |
, |
- |
쉼표 |
- |
- |
- |
Hyphen |
. |
. |
- |
마침표 |
/ |
/ |
- |
Solidus (slash) |
0 - 9 |
0-9 |
- |
0부터 9까지 |
: |
: |
- |
콜론 |
; |
; |
- |
세미콜론 |
< |
< |
< |
보다 작은 |
= |
= |
- |
등호 |
> |
> |
> |
보다 큰 |
? |
? |
- |
물음표 |
@ |
@ |
- |
Commercial at |
A - Z |
A-Z |
- |
A부터 Z까지 |
[ |
[ |
- |
왼쪽 대괄호 |
\ |
\ |
- |
역슬래쉬 |
] |
] |
- |
오른쪽 대괄호 |
^ |
^ |
- |
탈자부호 |
_ |
_ |
- |
수평선 |
` |
` |
- |
Acute accent |
a - z |
a-z |
- |
a부터 z까지 |
{ |
{ |
- |
왼쪽 중괄호 |
| |
| |
- |
수직선 |
} |
} |
- |
오른쪽 중괄호 |
~ |
~ |
- |
꼬리표 |
- |
-Ÿ |
- |
사용하지 않음 |
  |
|
Non-breaking space | |
¡ |
¡ |
¡ |
거꾸로된 느낌표 |
¢ |
¢ |
¢ |
센트 기호 |
£ |
£ |
£ |
파운드 |
¤ |
¤ |
¤ |
현재 환율 |
¥ |
¥ |
¥ |
엔 |
| |
¦ |
¦ |
끊어진 수직선 |
§ |
§ |
§ |
섹션 기호 |
¨ |
¨ |
¨ |
움라우트 |
ⓒ |
© |
© |
저작권 |
ª |
ª |
ª |
Feminine ordinal |
≪ |
« |
« |
왼쪽 꺾인 괄호 |
¬ |
¬ |
¬ |
부정 |
|
­ |
­ |
Soft hyphen |
? |
® |
® |
등록상표 |
&hibar; |
¯ |
¯ |
Macron accent |
° |
° |
° |
Degree sign |
± |
± |
± |
Plus or minus |
² |
² |
² |
Superscript two |
³ |
³ |
³ |
Superscript three |
´ |
´ |
´ |
Acute accent |
μ |
µ |
µ |
Micro sign (Mu) |
¶ |
¶ |
¶ |
문단기호 |
· |
· |
· |
Middle dot |
¸ |
¸ |
¸ |
Cedilla |
¹ |
¹ |
¹ |
Superscript one |
º |
º |
º |
Masculine ordinal |
≫ |
» |
» |
오른쪽 꺾인 괄호 |
¼ |
¼ |
¼ |
4분의 1 |
½ |
½ |
½ |
2분의 1 |
¾ |
¾ |
¾ |
4분의 3 |
¿ |
¿ |
¿ |
거꾸로된 물음표 |
A |
À |
À |
Capital A, grave accent |
A |
Á |
Á |
Capital A, acute accent |
A |
 |
 |
Capital A, circumflex accent |
A |
à |
à |
Capital A, tilde |
A |
Ä |
Ä |
Capital A, dieresis or umlaut mark |
A |
Å |
Å |
Capital A, ring (Angstrom) |
Æ |
Æ |
Æ |
Capital AE diphthong (ligature) |
C |
Ç |
Ç |
Capital C, cedilla |
E |
È |
È |
Capital E, grave accent |
E |
É |
É |
Capital E, acute accent |
E |
Ê |
Ê |
Capital E, circumflex accent |
E |
Ë |
Ë |
Capital E, dieresis or umlaut mark |
I |
Ì |
Ì |
Capital I, grave accent |
I |
Í |
Í |
Capital I, acute accent |
I |
Î |
Î |
Capital I, circumflex accent |
I |
Ï |
Ï |
Capital I, dieresis or umlaut mark |
Ð |
Ð |
Ð |
Capital Eth, Icelandic |
N |
Ñ |
Ñ |
Capital N, tilde |
O |
Ò |
Ò |
Capital O, grave accent |
O |
Ó |
Ó |
Capital O, acute accent |
O |
Ô |
Ô |
Capital O, circumflex accent |
O |
Õ |
Õ |
Capital O, tilde |
O |
Ö |
Ö |
Capital O, dieresis or umlaut mark |
× |
× |
× |
Multiply sign |
Ø |
Ø |
Ø |
width="130"Capital O, slash |
U |
Ù |
Ù |
Capital U, grave accent |
U |
Ú |
Ú |
Capital U, acute accent |
U |
Û |
Û |
Capital U, circumflex accent |
U |
Ü |
Ü |
Capital U, dieresis or umlaut mark |
Y |
Ý |
Ý |
Capital Y, acute accent |
Þ |
Þ |
Þ |
Capital Thorn, Icelandic |
ß |
ß |
ß |
Small sharp s, German (sz ligature) |
a |
à |
à |
Small a, grave accent |
a |
á |
á |
Small a, acute accent |
a |
â |
â |
Small a, circumflex accent |
a |
ã |
ã |
Small a, tilde |
a |
ä |
ä |
Small a, dieresis or umlaut mark |
a |
å |
å |
Small a, ring |
æ |
æ |
æ |
Small ae diphthong (ligature) |
c |
ç |
ç |
Small c, cedilla |
e |
è |
è |
Small e, grave accent |
e |
é |
é |
Small e, acute accent |
e |
ê |
ê |
Small e, circumflex accent |
e |
ë |
ë |
Small e, dieresis or umlaut mark |
i |
ì |
ì |
Small i, grave accent |
i |
í |
í |
Small i, acute accent |
i |
î |
î |
Small i, circumflex accent |
i |
ï |
ï |
Small i, dieresis or umlaut mark |
ð |
ð |
ð |
Small eth, Icelandic |
n |
ñ |
ñ |
Small n, tilde |
o |
ò |
ò |
Small o, grave accent |
o |
ó |
ó |
Small o, acute accent |
o |
ô |
ô |
Small o, circumflex accent |
o |
õ |
õ |
Small o, tilde |
o |
ö |
ö |
Small o, dieresis or umlaut mark |
÷ |
÷ |
÷ |
Division sign |
ø |
ø |
ø |
Small o, slash |
u |
ù |
ù |
Small u, grave accent |
u |
ú |
ú |
Small u, acute accent |
u |
û |
û |
Small u, circumflex accent |
u |
ü |
ü |
Small u, dieresis or umlaut mark |
y |
ý |
ý |
Small y, acute accent |
þ |
þ |
þ |
Small thorn, Icelandic |
y |
ÿ |
ÿ |
Small y, dieresis or umlaut mark |
iframe (0) | 2016.04.25 |
---|---|
X11 색상 이름 (0) | 2016.04.25 |
CGI와 PHP 관계 (0) | 2015.10.16 |
HTTP 프로토콜 (0) | 2015.09.30 |
MySQL join (0) | 2015.08.24 |
PHP 도 CGI 로 돌아갈 수도 있습니다. 다만 그렇게 쓰는 경우는 거의 없습니다. 님께서 말씀하신대로 CGI 로 돌아가면 각각의 요청마다 프로세스를 생성하므로 성능이 현저하게 떨어지기 때문입니다.
먼저 CGI 란 것부터 간단하게 설명드리겠습니다. CGI 는 소리님께서 말씀하셨듯이 웹서버와 프로그램 간에 데이터를 어떻게 주고 받을 것인가에 대한 규약입니다. 웹서버가 웹브라우저 같은 클라이언트로부터 요청을 받았는데, 웹 서버가 그 요청이 특정 프로그램이 실행될 필요가 있다고 설정 되어 있으면, 프로그램을 실행시키고 그 규약에 따라서 데이터를 프로그램에 넘깁니다. 프로그램 실행이 끝나고 결과가 나오면 프로그램은 규약에 정한대로 결과를 웹서버에 넘겨 줍니다.따라서 보통의 경우 CGI 로 처리를 하면 각 요청마다, 프로세스를 뛰워야 하기 때문에 성능이 좋지 못한 것입니다.
만약 PHP를 CGI 형식으로 수행 한다면, 아마 님 컴퓨터에서도 /usr/bin/php 또는 /usr/local/bin/php 라는 실행파일이 있을텐데, 웹서버를 특정 URL로 요청이 들어오면 php 를 실행시켜서 html 로 변환한후 웹서버에 넘겨주어 처리하게 됩니다. 실제로 이런식으로 설정하는 것도 가능하구요.
그러나 가장 흔한 PHP 설정은 웹서버 내에 php 인터프리터를 내장하는 방법입니다. 즉 요청이 들어왔을 때, 따로 프로그램을 실행시키지 않고 바로 웹서버가 직접 결과를 생성해서 클라이언트로 보내줍니다. 이 방법은 어차피 웹서버는 데몬 형태로 항상 실행중이므로, 요청이 들어와도 다른 프로세스를 생성하지 않기 때문에 성능이 좋습니다. 보통의 경우는 아파치 웹서버에 mod_php4 혹은 mod_php5 라는 모듈을 올려서 사용합니다. 이 모듈은 아파치를 컴파일 하는 시점에서 아예 같이 하나의 프로그램으로 컴파일 할 수도 있지만, 보통은 동적 모듈로 만들어서 아파치가 실행 될때 아파치가 직접 모듈을 자신에게 불러들이게 됩니다.
그리고 웹서버에 직접 내장하는 방법 이외에도, 웹서버 밖에다 따로 데몬을 뛰워 놓고 아파치와 이 데몬 프로세스가 소켓 통신으로 데이터를 주고 받는 방법도 있습니다. SCGI, FCGI 등등이 이런 기술인데, 이 방법을 사용해도 각 요청마다 따로 프로세스를 뛰우지 않고 소켓으로 데이터만 보내고 받으면 되기 때문에 오버헤드를 크게 줄일 수 있게 됩니다.
원래 의도와는 다른 내용의 답글이 먼저 올라간 스레드네요.
소타님이 이야기한 대로 CGI는 규약입니다.
어떠한 프로그램의 일종으로 볼 수 있는 것이 아닙니다.
웹 서버는 정적 파일 - 이미지, HTML문서 - 를 보내기 위한 프로그램입니다.
그렇기에 동적으로 바뀌는 내용(예를 들어, 게시판 글 목록)이 전달이 되려면 웹서버 자체로는 해결이 안되겠지요. 이를 해결하기 위한 것이 외부 프로그램을 불러서 그 프로그램의 결과를 대신 전달해주는 방법을 만든 것입니다. 이 때 외부 프로그램을 부를때 규칙을 정해서 전달하게 하면 외부 프로그램을 작성/사용할 때 편할 것입니다.
그 규칙을 CGI(Common Gateway Interface)라고 한 것입니다.
이 규칙을 지키지 않고서는 절대로 웹 서버에서 호출을 받거나 웹서버로 결과를 전달할 때 기대했던 결과를 얻지 못합니다.
PHP, ASP, JSP 모두 CGI 규칙을 지키는 프로그래밍 언어입니다.(프로그램이 아닙니다.)
ASP는 항상 웹서버의 모듈 형태로 동작을 합니다.(ASP.DLL 파일)
PHP,JSP는 웹서버의 모듈 형태로 동작할 수도, 별도의 프로그램으로 동작할 수 있습니다.
CGI하고 CGI프로그램하고 분리해서 생각하는 것이 필요합니다.
php는 cgi형태로 돌아갈 수도 있고, 웹서버에 내장할 수도 있습니다.
cgi형태로 돌아가면 PHP코드를 분석 실행하는 인터프리터가 외부에 존재합니다.
웹서버는 php 파일에 대한 요청이 들어올때마다 php 인터프리터 실행시키고 통신합니다.
이때 통신하는 방식이 CGI 규약입니다. (환경변수 세팅하고 뭐 하고 등등...)
하지만 웹서버에 모듈로 내장된다면 웹서버가 PHP코드를 직접 인터프리팅하죠.
이때는 CGI규약하고는 전혀 상관이 없습니다.
웹서버에 내장된 모듈은 PHP에 대한 요청이 올때마다 웹서버와 통신하는데,
이것들은 파이프나 소켓 필요없이 웹서버 프로세스 내에서 다 처리됩니다.
아파치면 아파치 고유의 형식이 있을꺼고 M$ IIS라면 ISAPI를 이용합니다.
성능은 웹서버 내장이 훨씬좋죠.
결론은 PHP != CGI입니다.
내장이면 CGI랑 전혀 상관없고
CGI 형태로 돌아간다면 CGI프로그램에서 인터프리팅되는 스크립트 언어죠.
X11 색상 이름 (0) | 2016.04.25 |
---|---|
HTML 특수문자코드표 (0) | 2016.04.25 |
HTTP 프로토콜 (0) | 2015.09.30 |
MySQL join (0) | 2015.08.24 |
[HTML] favicon 생성 (0) | 2015.07.29 |
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/AdvancedComm/HTTP
1 HTTP 프로토콜1 GET /cgi-bin/http_trace.pl HTTP/1.1\r\n 2 ACCEPT_ENCODING: gzip,deflate,sdch\r\n 3 CONNECTION: keep-alive\r\n 4 ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n 5 ACCEPT_CHARSET: windows-949,utf-8;q=0.7,*;q=0.3\r\n 6 USER_AGENT: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24\r\n 7 ACCEPT_LANGUAGE: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4\rn 8 HOST: www.joinc.co.kr\r\n 9 \r\nHTTP 헤더는 라인피드와 캐리지 리턴(/r/n)을 함께 사용한다. HTTP 헤더를 파싱할 때 주의해야 한다.
# wget -S http://www.test.co.krsdf HTTP/1.1 200 OK\r\n Date: Fri, 08 Jul 2011 00:59:41 GMT\r\n Server: Apache/2.2.4 (Unix) PHP/5.2.0\r\n X-Powered-By: PHP/5.2.0\r\n Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n Last-Modified: Fri, 08 Jul 2011 00:59:41 GMT\r\n Cache-Control: no-store, no-cache, must-revalidate\r\n Content-Length: 102\r\n Keep-Alive: timeout=15, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html\r\n \r\n
코드번호 | 설명 | 비고 |
200 | 성공 | 서버가 요청을 제대로 처리했다. |
201 | 생성됨 | 요청이 성공했으며, 새로운 리소스를 만들었다. |
202 | 허용됨 | 요청을 받았으나, 아직 처리하지는 못했다. |
204 | 컨텐츠 없음 | 요청을 처리했지만, 컨텐츠를 제공하지 않는다. |
205 | 컨텐츠 재 설정 | 요청을 처리했지만, 컨텐츠를 표시하지 않는다. 그리고 문서를 재 설정할 것을 요구한다. |
206 | 일부 성공 | 요청의 일부만 성공적으로 처리 |
207 | 다중상태 |
코드번호 | 설명 | 비고 |
300 | 여러 선택 항목 | |
301 | 영구이동 | 요청한 페이지가 다른 위치로 영구이동 했다. |
302 | 임시이동 | 요청한 페이지가 다른 위치로 임시이동 했다. 요청자는 여전히 현재 페이지를 요청해야 한다. |
303 | 기타위치 보기 | 요청자가 다른 위치에 별도의 GET 요청을 하여 응답을 검색할 경우 |
304 | 수정되지 않음 | 마지막 요청 이후 요청한 페이지가 수정되지 않았다. if-Modified-Sine 헤더에 지정된 날짜/시간 이래로 지정된 문서가 변경된 사실이 없는 경우 이 code로 응답한다. |
305 | 프록시 사용 | 요청자는 프록시를 사용하여 요청한 페이지만 접근할 수 있다. |
코드번호 | 설명 | 비고 |
400 | 잘못된 요청 | 주로 헤더 포멧이 HTTP 규약에 맞지 않을 경우 |
401 | 권한 없음 | 인증을 필요로 하는 요청이다. Basic access authentication에 사용한다. |
403 | 금지 | 서버가 요청을 거부하고 있다. |
404 | 찾을 수 없음 | 요청한 자원이 서버에 존재하지 않는다. |
405 | 허용하지 않는 방법 | 요청에 지정한 방법을 사용할 수 없다. |
406 | 허용되지 않음 | 요청한 페이지를 콘텐츠 특성 때문에 응답할 수 없다. |
408 | 요청시간 초과 | 서버의 요청대기가 시간을 초과 |
410 | 사라짐 | 요청한 자원이 삭제되었음. 404와 비슷하지만, 410은 과거에 있었으나 지금 없는 자원이다. 예컨데, 게시판에서 삭제한 포스트에 접근하는 경우 |
411 | 길이필요 | 유효한 컨텐츠 길이를 명시해야 한다. |
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset:windows-949,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive Host:www.joinc.co.kr Referer:http://www.joinc.co.kr/ User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
Connection:Keep-Alive Keep-Alive:timeout=5, max=100 Content-Encoding:gzip Content-Length:5933 Content-Type:text/html Vary:Accept-Encoding
# telnet www.joinc.co.kr 80 Trying xxx.xxx.xxx telnet: Unable to connect to remote host: Connection refusedConnection refuse가 떨어지면, 서비스 포트가 열려있지 않다는 것을 의미한다.
# telnet www.joinc.co.kr 80 Trying 1.226.82.91... Connected to www.joinc.co.kr. Escape character is '^]'.이 상태에서 HTTP 명세대로 요청을 보내면 응답을 받을 수 있다. www.joinc.co.kr에 index.html을 요청한 예다.
$ telnet www.joinc.co.kr 80 Trying 1.226.82.91... Connected to www.joinc.co.kr. Escape character is '^]'. GET /index.html HTTP/1.1 HOST: www.joinc.co.kr HTTP/1.1 200 OK Date: Sun, 16 Jun 2013 02:28:28 GMT Server: Apache/2.2.14 (Ubuntu) Last-Modified: Fri, 22 Jun 2012 06:58:22 GMT ETag: "c43e-76-4c30a286a7f80" Accept-Ranges: bytes Content-Length: 118 Vary: Accept-Encoding Content-Type: text/html <head> <meta http-equiv="refresh" content="0;URL=http://www.joinc.co.kr/modules/moniwiki/wiki.php/FrontPage"> </head> Connection closed by foreign host.
# wget -S http://www.joinc.co.kr --2013-06-19 15:05:03-- http://www.joinc.co.kr/ Resolving www.joinc.co.kr (www.joinc.co.kr)... 1.226.82.91 Connecting to www.joinc.co.kr (www.joinc.co.kr)|1.226.82.91|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Date: Wed, 19 Jun 2013 15:01:21 GMT Server: Apache/2.2.14 (Ubuntu) Last-Modified: Fri, 22 Jun 2012 06:58:22 GMT ETag: "c43e-76-4c30a286a7f80" Accept-Ranges: bytes Content-Length: 118 Vary: Accept-Encoding Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html
프로그램 이름 | 벤더 | 웹 사이트 호스트 수 | 점유율 |
Apache | Apache | 359,441,468 | 53.42 % |
IIS | Microsoft | 112,303,412 | 16.69 % |
nginx | NGINX. Inc | 104,411,087 | 15.52 % |
GWS | 23,029,260 | 3.42 % |
HTTP/1.1 200 OK Content-Type: text/html;charset=utf-8 Content-Length: 0 X-Xss-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN Server: WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) Date: Tue, 17 Sep 2013 12:46:12 GMT Connection: Keep-Alive
HTTP/1.1 301 Moved Permanently Content-Type: text/html;charset=utf-8 Location: http://192.168.56.101/ok Content-Length: 0 X-Xss-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN Server: WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) Date: Tue, 17 Sep 2013 12:36:01 GMT Connection: Keep-Alive
HTTP/1.1 401 Authorization Required Date: Wed, 02 Apr 2014 08:23:28 GMT Server: Apache/2.2.14 (Ubuntu) WWW-Authenticate: Basic realm="sample" Vary: Accept-Encoding Content-Length: 484 Content-Type: text/html; charset=iso-8859-1
GET / HTTP/1.1 HOST: sample.joinc.co.kr Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
# echo -n "yundream:1111" | openssl base64 eXVuZHJlYW06MTExMQ== # echo -n "yundream:1111" | python -m base64 -e eXVuZHJlYW06MTExMQ==
HTML 특수문자코드표 (0) | 2016.04.25 |
---|---|
CGI와 PHP 관계 (0) | 2015.10.16 |
MySQL join (0) | 2015.08.24 |
[HTML] favicon 생성 (0) | 2015.07.29 |
[CSS] address 태그 (0) | 2015.07.28 |
JOIN (조인) 연산자
- 두개 이상의 테이블을 연결하여 데이터를 검색할때 사용한다.
- 데이터베이스 시스템과 그 환경의 성능을 확인하는데도 사용할 수 있다. (느린 쿼리를 사용하여 비교)
- 조인에는 여러가지 종류가 있다.
조인 종류 | 설명 |
내부조인(INNER JOIN) | 조건을 사용해서 두 테이블의 레코드를 결합한다. |
외부조인(OUTER JOIN) | 내부조인과 비슷한데 일치하지 않는 열까지 반환하며 그 열은 NULL로 반환한다. |
동등 조인(EQUI JOIN) | 내부조인이다. 두 테이블 사이의 같은 행들을 반환한다. |
비동등 조인(NON-EQUI JOIN) | 내부조인이다. 두 테이블 사이의 같지 않은 행들을 반환한다. |
자연 조인(NATURAL JOIN) | 'ON' 절이 없는 내부조인. 같은 열 이름을 가진 두 테이블을 조인할때만 작동 |
크로스 조인(CROSS JOIN) | 한 테이블의 모든 행과 다른 테이블의 모든 행이 연결되는 모든 경우를 반환. |
카티젼 조인(CARTESIAN JOIN) | 크로스 조인의 한 종류. 조건이 없다. (크로스 프로덕트) |
콤마 조인(COMMA JOIN) | 콤마가 CROSS JOIN 키워드 대신 사용된다는 점을 제외하면 크로스 조인과 같다. |
셀프 조인(SELF JOIN) | 자기 자신을 조인한다. |
1. 내부 조인(INNER JOIN)
- 조건을 사용하여 두 테이블의 레코드를 결합한다.
- 동등 조인, 비동등 조인, 자연 조인 등이 있다.
1
2
3
4 |
Select somecolumns From table1 -- 반환되는 열 Inner Join table2 ON somecondition; -- ON 또는 WHERE 조건절 |
1) 동등 조인(EQUI JOIN)
- 두 테이블 사이의 같은 행들을 반환한다.
예) 각 boy가 어떤 toy를 가지고 있는지 조사한다. (매핑 확인)
1
2
3 |
Select boys.boy, toys.toy From boys INNER JOIN toys ON boys.toy_id = toys.toy_id; |
2) 비동등 조인(NON-EQUI JOIN)
-두 테이블 사이의 같지 않은 모든 행들을 반환한다.
예)
1
2
3
4 |
Select boys.boy, toys.toy From boys INNER JOIN toys ON boys.toy_id <> toys.toy_id -- <> : 같지 않음 ORDER BY boys.boy; -- 정렬 |
3) 자연 조인(NATURAL JOIN)
- 두 테이블에 같은 이름의 열이 있을때만 동작한다.
- ON이 필요없다.
예)
1
2 |
Select boys.boy, toys.toy From boys NATURAL JOIN toys; |
2. 외부 조인(OUTER JOIN)
- 내부 조인과 유사하며 일치하는 것이 없을 경우 NULL로 표시한다.
- 왼쪽 테이블은 FROM 바로 다음에 나오는 테이블이고, JOIN 뒤에 나오는 테이블이 오른쪽 테이블이다.
- 왼쪽 외부 조인(LEFT OUTER JOIN)과 오른쪽 외부 조인(RIGHT OUTER JOIN)이 있다.
- 왼쪽 외부 조인을 사용할 경우 왼쪽 테이블을 오른쪽 테이블에 비교한다. 오른쪽 외부 조인도 그 반대로 동작한다. 일대다 관계에 유용하다.
유용한 예) girls가 어느 toys를 가지고 있는지 알아보도록 쿼리를 작성한다.
i) 왼쪽 테이블을 오른쪽 테이블에 비교하는 방법
1
2
3 |
Select g.girl, t.toy From girls g Left Outer Join toys t ON g.toy_id = t.toy_id; |
ii) 반대로 했을때
1
2
3 |
Select g.girl, t.toy From toys t Left Outer Join girls g ON g.toy_id = t.toy_id; |
3. 크로스 조인(CROSS JOIN)
- 한 테이블의 모든 행과 다른 테이블의 모든 행을 짝지워 반환한다.
- 카티전 조인, 카티전 프로덕트 등이 있다.
예)
1
2 |
Select t.toy, b.boy From toys AS t CROSS JOIN boys AS b; |
4. 셀프 조인(SELF JOIN)
- 자기 자신을 조인한다.
- 자기 자신을 하나씩 비교하기 위해 사용한다.
- 하나의 테이블로 같은 정보를 가진 테이블이 두 개 있는 것처럼 쿼리를 보낼 수 있다.
예) 각 사람의 이름(name)과 그 사람을 담당하는 보스(boss)의 이름을 가져온다.
1
2
3
4 |
Select c1. name , c2. name AS boss From clown_info c1 Inner Join clown_info c2 ON c1.boss_id = c2.id; |
CGI와 PHP 관계 (0) | 2015.10.16 |
---|---|
HTTP 프로토콜 (0) | 2015.09.30 |
[HTML] favicon 생성 (0) | 2015.07.29 |
[CSS] address 태그 (0) | 2015.07.28 |
[CSS] label 태그의 for 속성 (0) | 2015.07.28 |
HTTP 프로토콜 (0) | 2015.09.30 |
---|---|
MySQL join (0) | 2015.08.24 |
[CSS] address 태그 (0) | 2015.07.28 |
[CSS] label 태그의 for 속성 (0) | 2015.07.28 |
CSS 임의 글자 테스트 글귀 (0) | 2015.07.28 |
<address> 태그 의미
<address> : address(주소)
http://w3schools.com/tags/tag_address.asp
<address> 태그 사용 결과
<address> 태그 사용 방법
HTML 코드
<!DOCTYPE html>
<html>
<head><title></title></head>
<body>
<address>작성자 bakgunee.<br>블로그주소 http://chobbang.com</address>
</body>
</html>
comment.
w3schools.com 설명 번역
<address> 태그는 문서 또는 문서의 저자 / 소유자의 연락처 정보를 정의합니다.
<address> 요소의 <body> 요소 안에있는 경우에는 문서에 대한 연락처 정보를 나타냅니다.
<address> 요소 <article> 요소 내부에있는 경우, 그 기사에 대한 연락처 정보를 나타냅니다.
<address> 요소에 텍스트는 일반적으로 이탤릭체로 렌더링합니다. 대부분의 브라우저는 주소 요소 이전과 이후 줄 바꿈을 추가합니다.
MySQL join (0) | 2015.08.24 |
---|---|
[HTML] favicon 생성 (0) | 2015.07.29 |
[CSS] label 태그의 for 속성 (0) | 2015.07.28 |
CSS 임의 글자 테스트 글귀 (0) | 2015.07.28 |
CSS 초기화 코드 (0) | 2015.07.28 |