본문 바로가기

Web Programing Language/JSP-servlet

서블릿 프로그래밍 #1 - http 프로토콜에 대한 이해



서블릿 프로그래밍에 대해서 이해를 하기 위해선 일단

HTTP 프로토콜에 대한 이해가 필요합니다.


HTTP 프로토콜은 웹 서버와 웹 클라이언트 간의 웹 페이지를 요청하고 응답하는 프로토콜인데요.

이 요청과 응답은

1. 요청 / 응답 부분

2. 헤더 부분

3. 엔티티 바디(Entity Body) 부분으로 나뉩니다.




지금 부터 보실 부분은 요청과 응답이 나뉘어져있는 부분인데요.


1. 요청 / 응답 부분

서버에 요청 할 HTTP 명령어, 문서의 주소, HTTP 프로토콜의 버젼 정보를 포함 합니다.


2. 헤더 부분

클라이언트의 상세한 정보를 서버에 알려주는 것입니다.

왜냐하면, 클라이언트의 종류는 다양하기 때문이죠. 예를들어 윈도우를 사용하는 사람도 있고, 리눅스를 사용하는 사람도 있습니다.  뿐만 아니라, 저 같은 경우에는 구글의 크롬으로 웹 페이지에 접속하고, 보통은 IE를 사용해서 웹에 접속을 하지요. ㅎㅎㅎㅎ 그에 대한 정보도 보내주고,

받아들일 문서의 속성 정보도 알려주는 등

서버에 필요한 다양한 정보들을 보내줍니다.


나와있는 것처럼 헤더 정보는 한 줄에 한개씩 표시하고, 마지막 헤더 정보의 표시가 끝나면 한 줄을 더 내려감으로써 끝을 표시해 줍니다.




3. Entity Body 부분

웹 서버에 추가적으로 보내는 내용을 보내는 부분입니다. 일반적으로 form의 post 방식으로 데이터를 전달하면 Entity Body 부분에 추가되어서 데이터가 전달됩니다.





HTTP 프로토콜 안에는 여러가지 메소드들이 있습니다.

그 중에 데이터를 요청하는 GET 메소드와 데이터를 전달하는 POST 메소드가 있습니다.


이 두가지를 같이 설명하는 이유는 두가지 메소드가 전부 데이터를 전달하는데 사용할 수 있기 때문이죠.

GET 메소드는 데이터를 문서의 URI에 붙여서 보냅니다.

http://www.naver.com/?name=lee&id=tlsdmq

이 부분에서 ? 뒤의 부분이 GET 명령으로 서버에 데이터를 전달하는 방법입니다.

보통 form에서 method를 GET으로 전달할 경우 위와 같은 방식으로 표시된다.


반대로 POST 메소드는 데이터를 Entity Body 부분에 포함시켜서 전달합니다. 때문에 전달하는 정보를 육안으로 볼 수는 없게 되죠, ㅎㅎ


그냥 이정도의 차이점이지만,,,,, GET 방식의 form을 사용하는 것은 보안상 문제가 발생할 수 있기 때문에 좋지 않다는 것이 일반적인 내용입니다.



여기 까지가 HTTP 프로토콜에서 알아야 할 아주 조그마한 부분입니다.

ㅎㅎㅎ 알겠죠??