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 뒤
옵셔널하게
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 이후에
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 |