웹 기준
HTTP 의정서
웹은 항구 80에 달린다. 당신은 아마 "80"를 이고, (당신은 실제로 무관하 있건 없건 간에) 보상하는 향하십시오 무슨이라고 생각해 보고 있는가? 그래서, 응답은 쉽다 (진짜로). , 인터넷 및 웹 다르다 보십시오. 인터넷은 기반 (ie, 신체 검사가 타전하는 서버 기계설비, etc.)이다 웹은 아이디어 및 소프트웨어이다. 나는 웹의 앞에 인터넷이 POP3를 사용하여 철사의 혼잡과 강력한 컴퓨터와 커뮤니케이션을 위한 SMTP, 파일 전송을 위한 FTP, 및 먼 포탄 접근을 위한 TELNET이었기 때문에 다른 사람의 사이에서 아이디어를, 말한다. 다음 웹은, 그리고 가정 그리고 세계의 맞은편에 모두에 퍼진 인터넷 사용 따라왔다. 보십시오 항구 80, 그래서 항구 80에 모든 연락한 클라이언트에게, 터놓고 말하자면, 웹 서버 방송 HTML를이다 "HTTP 항구." HTTP는 항구 80와 그것의 소프트웨어를 위한 기준의 의정서, 또는 세트이다. 클라이언트 소프트웨어는 당신의 브라우저, (아마 ie Internet Explorer 그러나 잘만하면 Firefox)이고, 서버는 아파치 또는 IIS (uug) 같이 무언가이다. 이것은 거칠게 자르기와 당신이 나중에 보기 때문에, 관련된다, 그러나 첫째로 당신은 HTTP에 관하여 더 많은 것을 알 필요가 있다. 이 에서 이렇게 두 전에 _ (공간은 이것 이 아닙니다 로 HTML와 생각되)
< html="">
< body="">
< img="" src="image.png">< br="">
< div="" align="center">원본
, Firefox는 그것을 데려온다 아파치가 봉사하는 경우에 < img="" src="">, 등등을 대체할 것이다. " 가까운 그들 "꼬리표. 꼬리표는 s에서 무엇이든을 위한 기간이고, 그들이 (소개되는 ie) 열리고 닫아야 한다 (ie ). 당신이 표를 붙이는 HTML를 배우고 싶은 경우에, 넘어서 다만 머리 우리의 절친한 친구 Google에와 수색을 하기 위하여.
당신이 프로그램 부분에 얻지 않으며기, 지금 나가 썼기 조차 그것을 없기 때문에, 나는 나가 당신이 지금 사용하고 있는 어떤 OS든지에 그 의지 일을 생각해서 좋은 간단한 형식에 있는 웹 서버 보기 당신을 보여줄 것이다. 따라서 명백한 선택은 자바이다:
수입품 java.net. *; 수입품 java.io.*; 수입품 java.util.*;
공중 종류 jhttp는 늘인다 실을 {
소켓 theConnection;
정체되는 파일 docroot;
indexfile 정체되는 끈 = "index.html";
공중 jhttp (소켓 s) {
theConnection = s;
}
주요 공중 공전 공허 (끈 [] args) {
int thePort;
ServerSocket ss;
//는 문서 뿌리를 얻는다
시험 {
docroot = 새 파일 (args [0]);
}
캐치 (e) 예외 {
docroot = 새 파일 (".");
}
//는 위에 듣기 위하여 항구를 놓았다
시험 {
thePort = Integer.parseInt (args [1]);
만약에 (thePort < 0=""> 65535) thePort = 80;
}
캐치 (e) 예외 {
thePort = 80;
}
시험 {
ss = 새로운 ServerSocket (thePort);
System.out.println ("받아들이기 항구에 연결을"
+ ss.getLocalPort ());
System.out.println ("문서 뿌리: " + docroot);
동안에 (진실한) {
jhttp j = 새로운 jhttp (ss.accept ());
j.start ();
}
}
캐치 (e) IOException {
System.err.println ("조숙하게" 유산되는 서버);
}
}
달리는 공중 공허 () {
끈 방법;
끈 ct;
끈 버전 = "";
theFile 파일;
시험 {
PrintStream os = 새로운 PrintStream (theConnection.getOutputStream ());
DataInputStream는 = 새로운 DataInputStream (theConnection.getInputStream 이다 ());
끈은 = is.readLine 얻는다 ();
StringTokenizer st = 새로운 StringTokenizer (얻으십시오);
방법 = st.nextToken ();
만약에 (method.equals ("얻으십시오")) {
파일 = st.nextToken를 묶으십시오 ();
만약에 (file.endsWith ("indexfile/")) 파일 +=;
ct = guessContentTypeFromName (파일);
만약에 (st.hasMoreTokens ()) {
버전 = st.nextToken ();
}
입력 리튬의 나머지를 통해 // 반복
// nes
동안에 ((= is.readLine는 얻으십시오 ()) ! = 영으로 하십시오) {
만약에 (get.trim () .equals ("")) 틈;
}
시험 {
theFile = 새 파일 (docroot, file.substring (1, file.length ()));
FileInputStream fis = (theFile) 새로운 FileInputStream;
바이트 [] theData = 새로운 바이트 [(int) theFile.length ()];
rea 바이트 수를 검사하는 // 필요
여기에서 // d
fis.read (theData);
fis.close ();
만약에 (version.startsWith ("HTTP/")) {//는 MIME 우두머리를 보낸다
os.print ("HTTP/1.0 200 OKrn");
지금 날짜 = 새로운 날짜 ();
os.print ("날짜: " + 지금 + "rn");
os.print ("서버: jhttp 1.0rn");
os.print ("내용 길이: " + theData.length + "rn");
os.print ("내용 유형: " + ct + "rnrn");
} // 끝 시험
//는 파일을 보낸다
os.write (theData);
os.close ();
} // 끝 시험
캐치 (e) IOException {//는 파일을 찾아낼 수 없다
만약에 (version.startsWith ("HTTP/")) {//는 MIME 우두머리를 보낸다
os.print ("HTTP/1.0 404 파일 Foundrn 아닙니다");
지금 날짜 = 새로운 날짜 ();
os.print ("날짜: " + 지금 + "rn");
os.print ("서버: jhttp 1.0rn");
os.print ("내용 유형: 원본 또는 html" + "rnrn");
}
os.println ("< HTML="">< HEAD="">< TITLE="">찾아내지 않는" 파일);
os.println ("< BODY="">< H1="">HTTP 과실 404: " 찾아내지 않는 파일);
os.close ();
}
}
그밖에 {// 방법은 "얻는다" 같게 하지 않는 경우에 (version.startsWith ("HTTP/")) {//는 MIME 우두머리 os.print ("HTTP/1.0 501 Implementedrn를 아닙니다" 보낸다); 지금 날짜 = 새로운 날짜 (); os.print ("날짜: " + 지금 + "rn"); os.print ("서버: jhttp 1.0rn"); os.print ("내용 유형: 원본 또는 html" + "rnrn"); }
os.println (실행하지 않는< HTML="">< HEAD="">< TITLE=""> ""); os.println ("< BODY="">< H1="">HTTP 과실 501: " 실행하지 않는); os.close (); }
}
캐치 (e) IOException {
}
시험 {theConnection.close (); }
캐치 (e) IOException {}
}
만약에 공중 끈 guessContentTypeFromName (끈 이름) {(name.endsWith (".html") || name.endsWith (" .htm ")) 반환 "원본 또는 html"; 만약에 그밖에 (name.endsWith (" .txt ") || name.endsWith (".java")) 반환 "원본 또는 평야"; 그밖에 만약에 (name.endsWith (" .gif ")) 반환 "심상 또는 gif"; 그밖에 만약에 (name.endsWith (" .class ")) 반환 "신청 또는 팔중수 시내"; 만약에 그밖에 (name.endsWith (" .jpg ") || name.endsWith (".jpeg")) 반환 "심상 또는 jpeg"; 그 외에 반환 "원본 또는 평야"; }
}
나는 Elliotte Rusty Harold에 의하여 "자바" 네트워크 프로그래밍에서 프로그램하는 자바 웹 서버의 기초를 배웠다. 지금 당신은 그것을 이해할 수 비록 그것 같이 우선 보일지도 모르지 않았더라도, 있을 위하여 자바를 알 필요가 없는다. 부호를 시험할 경우 os.print ("") 명령할 찾을 것이다 중요한 것. 아무것도 브라우저, 당신에 자료를 얻기 위하여 사용되는 공상 자료, 간단한 커맨드를 통해 그것의 보내는 보통 HTML를 변화시킬 필요없다. 보통과 진상은 이 간단한 서버에 대하여 말할 때 브라우저가 어려운 재료의 대다수를 하고 있다 이다. 그러나 복잡한 서버에서 서버 측이 대본을 쓰고는, 등등 웹 이어 섬광과 같은 다만 간단한 서버 보다는 훨씬 복잡하 그리고 Internet Explorer 및 Java 애플릿 (브라우저에 있는 클라이언트 기계에 뛰기) 및 (클라이언트 브라우저에 HTML로 분명히 표시되고는 그러나 서버에 대본을 쓰기 수행되는) PHP와 진주 같이 서버 측 재료 있어. T
그는 비록 프로그램 자체가 규칙의 대부분을 묵살하더라도, 위를이다 HTTP 기준을 배우는 좋은 방법 암호로 한다. 웹 브라우저는 뿐만 아니라 페이지가 다는 것을 HTML를 이해하고 또한 시작하는 404와의 들어오는 연결이, 등등 의미한ㄴ다는 것을 알고 있다. "심상 또는 gif"가 돌려보내질 때 파일은 유형 gif의 심상다는 것을 또한 알고 있다. 이들은 어리석은 서버가 구성한 기간이 아니다. 그들은 웹 기준이다. 일반적으로 말하자면, 2개의 기준이 있다. 표준 w3 (ie 첫번째 웹 서버 및 브라우저에 근거를 두는 진짜 기준) 및 마이크로소프트 기준 (ie Internet Explorer, IIS 및 NT 기준)가 있다. 기준은 거기 있다 그래서 누군가는 서버 또는 클라이언트를 만들고 그것에게 (거의) 그 외 모든 것과 호환이 되어 달라고 할 수 있다.
당신의 연결을 숨기기
당신은 Visual Basic 6의 사본이 있는 경우에, 웹 브라우저를 만드는 것은 윈속에게 쉽고, 감사 포함된 부호 템플렛이다, 그래서 나는 그것의 보기에서 두지 않을 것이다. 대신 나는 안전한 유지하기 위하여 당신이 할 수 있는 차갑고 잠재적으로 위험한 일을 설명할 것이다. 나는 조립된 그 낱말을 (잠재적으로 위험하고 안전한 ie) 이치에 맞지 않는다는 것을, 그러나 당신이 곧 볼 것이라는 점을 알고 있다. 나는 대리에 대해서 이야기하고 있다. (익명 프록시 서버, 정확하기 위하여). 당신은 프록시 서버를 통해 항구 80에 인터넷에 연결해, 따라서 당신의 진짜 IP를 숨긴. 이것을 위한 많은 명백한 신청이 있다, 그러나 또한 이제까지는 유일하게 진짜로 잠재적으로 위험한 것이다, 그래서 나가 정상에 쓴 무슨을 나는 다시 말할 것이다: 당신이 이 정보로 한다 무엇이건을 당신의 책임이다. 나는 정보와 아무것도 좀더 제공하지 않는다. 그런말로 미루어 보아 자유롭 당신이 그것을 사용해서 아무도를 해칠 한, 익명 프록시 서버 사용에 관하여 불법 아무것도. 그러나 당신이 생각하는 경우에 당신은 1개 의 당신을 사용하여 완벽하게 안전하다 몹시 틀리다. 그들은 당신의 IP가 진짜로 당신을 찾아내고 싶은 경우에 인 무엇을 단순히 대리의 소유자를 요구해서 좋다. 당신이 높은 익명 서버를 결합하는 경우에, 당신의 IP를 풀어 놓아 그(것)들의 기회는 음악을 훔치기 같이 무언가를 위해 매우 낮다, 그러나 당신이 실제로 형기를 보증할 무언가를 하는 경우에, 그들은 아마 당신을 찾아낼 수 있을 것이다. www.publicproxyservers.com는 이 서버를 찾아내기를 위한 좋은 위치이다.
웹 서버와 항구 80와 관련있는 마지막 간계는 간단한 것이다. 첫째로, PHP를 지원하는 자유로운 웹사이트 주인을 찾아내고 뒤에 오는 부호를 사용하십시오:
이 파일의 주소가 http://file.com/script.php인 경우에, 최신 중절모 DVD를 다운로드하기 위하여 당신은 뒤에 오는 주소에 갈 것입니다: http://file.com/script.php?destfile=linuxiso.org/download.php/611/FC3-i386-DVD.iso &password=passwd
당신은 것은 모두 암호를 당신이 원한다 "패스워드"를에 바꿀 수 있다. 이것은 http://file.com에 어떤 구경꾼든지 연결된다 당신을 생각한. 당신은 당신의 연결의 속도로 아직도 제한된다, 그러나 당신은 웹 주인의 대역폭을 사용하고 있다
당신이 위 정보로 한다 무엇이건을 유일하게 당신의 책임이다.
마이크 Vollmer --- eblivion
http://eblivion.sitesled.com
ꀰ사냴ꀰ: Messaggiamo.Com
Related:
» Home Made Power Plant
» Singorama
» Criminal Check
» Home Made Energy
샹냈 삤퀰 삻쁄 쁔냜
ꃀ큘쁘 샹사쁴킸샐쁴 뀸쀜끼 삔ꀀ 샀ꀈ 냹삥!
샹냈 삤퀰샐ꂌ ꀰ사끼 쀜삜큘ꀰ
쁄냈삔 냱끝 큄쀘! ꃀ큘쁘 삑생쁄 삑쀱큘ꃠ쁴 뀸쀜낔 Messaggiamo.Com 뀔뀉킠났!