- (웹 표준) 클라이언트에서 동작함, 프론트엔드
- HTML : 웹페이지를 채울 내용
- JavaScript : (동적) 웹페이지에 들어갈 기능
- CSS : 웹페이지를 예쁘게 꾸밀 디자인
- (HTTP) 웹 표준은 서버에 저장 되어 있고, 이 데이터들을 받아오는 것
- (ASP, JSP, PHP) 서버에서 동작, 백엔드�
- www 에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 어플리케이션에서 사용되고 있다.
- 음성, 화상 등 여러 종류의 데이터를 MIME로 정의하여 전송 가능
- Request / Response (요청/응답) 동작에 기반하여 서비스 제공
"연결 수립, 동작, 연결 해제"의 단순함이 특징
- 하나의 URL은 하나의 TCP 연결
응답을 한 번 받을 때마다 연결을 끊음. HTML 문서를 전송 받은 뒤 연결을 끊고 다시 연결하여 데이터를 전송한다.
단순 동작 (연결 수립, 동작, 연결 해제)이 반복되어 통신 부하 문제 발생
HTTP 1.0과 호환 가능 Multiple Request 처리가 가능하며 Client의 Request가 많을 경우 연속적인 응답 제공
- Pipeline 방식의 Request / Response 진행
HTTP 1.0과는 달리 Server가 갖는 하나의 IP Address와 다수의 Web Site 연결 가능
빠른 속도와 Internet Protocol 설계에 최적화될 수 있도록 Cache 사용 Data를 압축해서 전단이 가능하도록 하여 전달하는 Data 양이 감소
-
가장 중요한 메소드 : GET, POST
-
GET과 POST의 차이 :
둘 다 데이터를 보내면서 요청할 수 있는데, GET은 URI(주소창)에 데이터를 포함시켜서 보내고 (외부로 노출됨), POST는 바디에 포함시켜서 보낸다.
-
PUT은 요청한 데이터가 바로 반영되기 때문에 보안에 취약해 잘 사용하지 않는다.
-
인터넷 상에서 특정 자원(파일)을 나타내는 유일한 주소
-
sheme://host[:port][/path][?query]
eg.
ftp://ip-address:port-number/file-name
http://domain-name(ip-address):port-number/path/file-name
- 위에서 설명한 HTTP 요청 프로토콜(좌)과 HTTP 응답 프로토콜(우)의 구조
- 각각의 헤더는 Request line, Status line 다음 줄에 위치해 있다.
- 보안을 위해 Server에 대한 정보를 제한하는 경우도 있다.