HTTP(Hypertext Transfer Protocol)하이퍼텍스트 전송 규약
Web-Browser(브라우저)같은 응용프로그램을 통해
Web-Client(사용자)와 Web-Server(서비스제공자)사이
데이터를 전송하는 프로토콜입니다.
HTTP 특징
1. HTTP는 TCP/IP(Transmission Control Protocol/Internet Protocol)
이용하는 응용 프로토콜 입니다.
쉽게 말해 컴퓨터와 컴퓨터간에 데이터를 전송 할 수 있도록 하는 장치로
인터넷이라는 거대한 통신망을 통해 원하는 정보(데이터)를 주고 받는 기능을
이용하는 응용 프로토콜 입니다.
사용 포트 번호는 기본적으로 80 입니다.
2. HTTP는 연결 상태를 유지하지 않는 프로토콜입니다.
처음 연결인 Web-Browser로 통해 Web-Client의 요청으로 Web-Server의 서버와 접속하여
Web-Client의 요청에 대한 응답인 데이터를 전송 후 연결을 종료합니다.
이러한 심플한 상태이기 때문에 전산 자원이 적게 든다는 장점이 있습니다.
단점은 연결이 지속적이지 않기에 Web-Client와 연결 종료 후
추가적인 Web-Client의 요청시 어떤 Web-Client이 요청인지 모른다는 점이 있습니다.
즉 다수의 Web-Client이 요청시 각각의 Web-Client 요청을 구분 할 수 없어서
제대로 된 응답인 데이터를 전송 할 수 없다는 단점이 발생합니다.
이런 단점을 해소하기 위한 방법은 다음과 같습니다.
Cookie
Session
URL Rewriting
Hidden Form Field
참고 사항으로 HTTP와 반대로 연결 상태 유지는 프로토콜은 FTP, Telnet이 있습니다.(TCP/IP)
3. HTTP는 연결 상태를 유지하지 않는 프로토콜이기 때문에
요청/응답(request/response)방식으로 동작하는 것입니다.
Web-Client의 요청 한개에 대해 한개의 응답하는 방식입니다.
그렇게 때문에 Web-Server가 먼저 응답하지 않습니다.
이러한 설명은 아래 설명을 참조하시기 바랍니다.
Client Server
① 서버 접속 -------------------------------->>>>>>
② Request Header와 URL 전송 --------------->>>>>>
③ <<<<<<--------------------- HTML 문서 Response
④ <<<<<<------- 문서 전송 완료시 접속 종료 Response
HTML에 사용 데이터 존재시...(동영상, 이미지, 텍스트 등등)
Client Server
⑤ 서버 접속 -------------------------------->>>>>>
⑥ Request Header와 데이터의 URL 전송 ------>>>>>>
⑦ <<<<<<--------------------- 데이터 전송 Response
⑧ <<<<<<----- 데이터 전송 완료시 접속 종료 Response
....추가적인 데이터가 있다면 반복...없다면 접속 종료
'php5 > 기본단계2문법' 카테고리의 다른 글
header 기능[상태코드, 리다이렉트, 해더정보변경, 다운로드, 노캐싱] - void header ( string $string ) (0) | 2014.01.16 |
---|---|
$_SERVER기능[접속자와 접속 페이지 관련 정보 반환] - $HTTP_SERVER_VARS [deprecated] (0) | 2014.01.15 |
정규표현식 (0) | 2014.01.12 |
재귀 함수 (0) | 2014.01.08 |
가변 함수 (0) | 2014.01.08 |