Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.9 KB

301read13.md

File metadata and controls

44 lines (33 loc) · 1.9 KB

Update and Delete

Sending data

Client/server architecture At it's most basic, the web uses a client/server architecture that can be summarized as follows. a client (usually a web browser) sends a request to a server (most of the time a web server like Apache, Nginx, IIS, Tomcat, etc.), using the HTTP protocol. The server answers the request using the same protocol.

By using a form you can define the data that will be sent.

Inside the form you'll need an action to define the path and a method to define how you're sending the data (public or private).

Here is an example of a get method

<form action="/http://www.foo.com" method="GET">
  <div>
    <label for="say">What greeting do you want to say?</label>
    <input name="say" id="say" value="Hi">
  </div>
  <div>
    <label for="to">Who do you want to say it to?</label>
    <input name="to" id="to" value="Mom">
  </div>
  <div>
    <button>Send my greetings</button>
  </div>
</form>

Since the GET method has been used, you'll see the URL www.foo.com/?say=Hi&to=Mom appear in the browser address bar when you submit the form.

The POST method is a little different. It's the method the browser uses to talk to the server when asking for a response that takes into account the data provided in the body of the HTTP request: "Hey server, take a look at this data and send me back an appropriate result." If a form is sent using this method, the data is appended to the body of the HTTP request.

Retrieving data

We currently have mainly used express with node js to retrieve data.

app.get('/route')
app.post('/route')

These are two main examples of getting data from the form.

Security

Each time you send data to a server, you need to consider security. HTML forms are by far the most common server attack vectors (places where attacks can occur). The problems never come from the HTML forms themselves — they come from how the server handles data.