티스토리 뷰

웹/부스트코스

[WEB]웹의 동작

cll179 2018. 5. 13. 23:45

HTTP

- HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 프로토콜(protocol)

- HTTP는 서버/클라이언트 모델을 따른다.

- 무상태(stateless) 프로토콜이라고도 말한다.

- 계속연결을 맺는 것이 아니라, 필요한 경우에만 맺고 보통 빠르게 요청을 보내고 응답을 받은 후에 연결을 끊게 된다.

 

장점

불특정 다수를 대상으로 하는 서비스에 적합, 계속 연결된 상태가 아니기 때문에 최대 연결수보다 훨씬 많은 요청과 응답을 처리할 수 있다.

 

단점

연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수가 없다. 이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술을 이용한다.

 

URL(Uniform Resource Locator)

- 인터넷 상의 자원의 위치

- 특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소

 

접근 프로토콜 종류://IP 주소 또는 도메인 이름/문서 경로/문서 이름

 

IP

- 집 주소

 

포트

- 집 안의 방

- 한 포트에는 하나의 서버만 있어야 한다.

- 포트는 0보다 큰 값이다.

- HTTP의 포트 값은 80 이다.

 

웹의 동작

 

- 클라이언트가 원하는 서버에 연결(connect)한 후, 웹 서버에 요청(request)을 하여야 한다.

- HTTP 요청 메세지에 정해진 양식이 있다. 이를 요청 데이터 포맷이라고 부른다.

- 요청 메세지는 헤더와 빈줄 그리고 바디, 세 부분으로 나뉜다.

- 헤더에는 요청메서드, 요청 URI, HTTP 프로토콜 버전이 첫줄에 있다.

ex) GET/servlet/query?a=10&b=90 HTTP/1.1

 

*요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 온다.

*요청 URI : 요청하는 자원의 위치를 명시한다.

*HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전이다.

 

첫번째 줄의 요청메소드는 서버에게 요청의 종류를 알려주기 위해서 사용된다.

각각의 메소드 이름은 다음과 같은 의미를 가진다.

 

*GET : 정보를 요청하기 위해서 사용(SELECT),  GET은 바디부분이 없다.

*POST : 정보를 밀어 넣기 위해서 사용한다.(INSERT)

*PUT : 정보를 업데이트하기 위해서 사용한다(UPDATE)

*DELETE: 정보를 삭제하기 위해서 사용한다.(DELETE)

*HEAD:(HTTP)헤더 정보만을 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지 확인하기 위해서 사용한다.

*OPTION: 웹서버가 지원하는 메서드의 종류를 요청한다.

*TRACE: 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적을 주로 사용한다.

 

- 응답 데이터 포맷도 요청 데이터 포맷처럼 헤더, 빈줄, 바디 부분으로 나뉜다.

- 첫번째줄에는 반드시 응답  HTTP의 버전, 응답코드, 응답 메세지가 와야한다.

- 나머지...

- 빈줄 다음 바디부분이 실제 응답 리소스 데이터가 나오는 부분이다.

 

 

 

 

참고 사이트 : http://www.edwith.org/



본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.

 

' > 부스트코스' 카테고리의 다른 글

[WEB]상속과 우선순위  (0) 2018.05.16
[WEB]HTML Layout 태그  (0) 2018.05.16
[WEB]WAS  (0) 2018.05.14
[WEB]웹서버란?  (0) 2018.05.14
[WEB]프론트엔드와 백엔드  (2) 2018.05.14
댓글