프로그램

http protocol

고요한하늘... 2014. 5. 14. 22:20


server를 만들고 테스트할때 http 프로토콜을 지원학 되면

브라주저에서 테스트가 가능하게 된다.


간단히 GET 방식으로 Query String을 넘기고 

필요한 작업을 처리하고 리턴하는 것을 살펴보자



서버가 http 프로토콜을 지원한다면

telnet을 가지고도 테스트를 할수 있다.

테스트는


telnet path port

만약 내가 만든 서버 프로그램 이름이 test_http 이고 port가 54321이면

telnet test_http 54321 

위와 같이 테스트를 할수 있다.


GET /test_http  HTTP/1.0               <- Request line

Host: [rsid].112.2o7.net CRLF

CRLF


Request Line 뒤

옵셔널하게 

genernal-header

request-header

entity-header가 올수 있는데 요청에 따라서 필요한 부분만 사용하면 된다.



위와 같이 입력하면

서버에서 read를 할때 위 문자열이 넘어온다

해당 문자열의 끝은 CR(carriage return)과 LF(linefeed)가 두번 들어오는 것으로 확인할수 있다.

여기까지는 서버에서 request를 처리하는 방식이고


아래는 서버에서 reponse를 내보내는 것을 보자


HTTP/1.0 200 OK                         <- Status Line

Content-Type: text/html

...

Content-Length: 43


Request와 마찬가지로

Status Line 이후에 

genernal-header

response-header

entity-header가 올수 있는데 요청에 따라서 필요한 부분만 사용하면 된다.



중간에 필요한 내용은 http1.0 spec을 확인해보시고

Content-Length 는 서버에서 출력하게될 메세지의 길이를 넣으면 된다.

만약 test를 서버에서 내보내게 된다면 Content-Length:4가 된다.


http://www.w3.org/Protocols/HTTP/1.0/spec.html

http://blog.outsider.ne.kr/888 <- http spec과 관련해서 자세한 내용이 있으니 참고




'프로그램' 카테고리의 다른 글

reentrant  (0) 2015.04.26
linux vim color setting   (0) 2014.06.24
prefork  (0) 2014.05.14
hadoop to local-server  (0) 2014.01.03
malloc 2G 이상 메모리 할당  (0) 2013.11.15