웹은 기본적으로 클라이언트 / 서버 구조로 요약할 수 있다. 


클라이언트 (Web Browser Page) 에서 Server로 요청을 보낸다.


웹서버의 종류는 Apache, Nginx, IIS, Tomcat  등이 있고, HTTP protocol을 사용한다. 


서버는 같은 프로토콜을 이용해서 요청에 대해 응답(Response) 한다. 


A basic schema of the Web client/server architecture


HTML의 FORM 태크는 클라이언트 쪽에서 가장 친숙하고 편리한 방법으로 서버에 데이터를 보내는 것에 대한 HTTP 요청을 구성할 수 있다. 


<Form> 태크 요소는 어떤 데이터를 보낼 건지 정의한다.  유저가 Submit Button 을 누르는 순간에 엔지니어가 구성한 내용으로 요청이 보내지는 것으로 속성들이 설계되어졌다.


Action은 데이터가 전송되는 위치를 정의한다. 유효한 URL만 가능하며, URL이 제공되지 않았다면 Form 태그를 포함한 페이지로  URL로 데이터가 보내질 것이다. 

<form action="http://url.com"> 절대경로

<form action="/somewhere"> 절대 경로

(절대경로와 상대경로가 가능하다)



Method : 어떤 HTTP 방식을 사용할지 지정한다 (GET, POST)

Get과 Post의 차이를 말하자면 

Get은 서버에게 자원(Resource)를 달라고 묻는 요청이다.  Requst의 Body 에는 빈값으로 들어가고 

URL에 데이터가 포함되서 보내진다. 

<form action="url" method ="get or post">

www.example.com?Data=Hi&Page=1


Post는 약간 다릅니다 Request Body 안에 데이터를 넣어서 서버에게 보냅니다. 보낸 값에 대한 적절한 결과를 다시 달라고 보내는 것입니다. 


Get은 Resource에 대한 요청을 할 때 항상 같은 자원을 요청 받을 수 있도록 보장됩니다.

하지만 Post는 요청에 대해서 같은 결과를 받을 수 있다고 보장하지 못합니다. 

Posted by Hoya0415
,