Update S13: Practice 4 authored by Rodrigo's avatar Rodrigo
......@@ -10,30 +10,29 @@
## Contents
* [Introduction](#introduction)
* [Exercises](#exercises)
* [Introduction](#introduction)
* [Exercises](#exercises)
* [Exercise 1: A.html](#exercise-1-ahtml)
* [Exercise 2: info/A](#exercise-2-infoa)
* [Exercise 3: info/C](#exercise-3-infoc)
* [Exercise 4: info/G and info/T](#exercise-4-infog-and-infot)
* [Exercise 5: Error](#exercise-5-error)
* [Exercise 2: info/A](#exercise-2-infoa)
* [Exercise 3: info/C](#exercise-3-infoc)
* [Exercise 4: info/G and info/T](#exercise-4-infog-and-infot)
* [Exercise 5: Error](#exercise-5-error)
* [Exercise 6: Index.html](#exercise-6-indexhtml)
* [End of the session](#end-of-the-session)
* [Credits](#credits)
* [License](#license)
* [License](#license)
## Introduction
The goal of this practice is to develop a **web server** with information about the **four bases**: A, C, T and G. Each base should have **its page**, with the following information: **Name**, **letter**, **chemical formula** and a **link** to the wikipedia URL with **more information**. In addition, each page will be in a **different color**. This table describe the **names** of the resources (path) for getting the web pages
| Resource | html File | Description |
|--------------|-----------|-------------|
| **/info/A** | A.html | Information about the Adenine base. Color: lightgreen |
| **/info/C** | C.html | Information about the Cytosine base. Color: yellow |
| **/info/G** | G.html | Information about the Guanine base. Color: ligthblue |
| **/info/T** | T.html | Information about the Guanine base. Color: pink |
| **/** | index.html| Main page: index. Color: white |
| any other | error.html| Error page. Color: red |
| Resource | html File | Description |
|----------|-----------|-------------|
| **/info/A** | A.html | Information about the Adenine base. Color: lightgreen |
| **/info/C** | C.html | Information about the Cytosine base. Color: yellow |
| **/info/G** | G.html | Information about the Guanine base. Color: ligthblue |
| **/info/T** | T.html | Information about the Guanine base. Color: pink |
| **/** | index.html | Main page: index. Color: white |
| any other | error.html | Error page. Color: red |
## Exercises
......@@ -62,7 +61,7 @@ The page is quite similar to the Page of the **Green server**. Use the **H1 tags
### Exercise 2: info/A
* **Filename**: P4/EX2.py
* **Description**: Write a webserver that returns the **A.html** file when the **info/A** resource is **requested** by the client. When the URL **http://127.0.0.1:8080/info/A** is written in the browser, we should see the **web page** of the **A base**. If another resource is requested, the server will send a response message with a **blank body** (therefore a blank page will be shown)
* **Description**: Write a webserver that returns the **A.html** file when the **info/A** resource is **requested** by the client. When the URL [**http://127.0.0.1:8080/info/A**](http://127.0.0.1:8080/info/A) is written in the browser, we should see the **web page** of the **A base**. If another resource is requested, the server will send a response message with a **blank body** (therefore a blank page will be shown)
![](https://github.com/myTeachingURJC/2019-2020-PNE/raw/master/s13-http-2/exercises-03.png)
......@@ -83,22 +82,20 @@ The page is quite similar to the Page of the **Green server**. Use the **H1 tags
### Exercise 5: Error
* **Filename:** P4/Error.html and P4/EX5.py
* **Description**: Extend the previous web server. If the user tries to access to any other resource not implemented, and error page should be shown
* **Description**: Extend the previous web server. If the user tries to access to any other resource not implemented, and error page should be shown
![](https://github.com/myTeachingURJC/2019-2020-PNE/raw/master/s13-http-2/exercises-06.png)
### Exercise 6: index.html
* **Filename:** P4/index.html and P4/EX6.py
* **Description**: Final version of the web server. When you connect to URL: **http://127.0.0.1:8080/** you get the main page: **index.html** with **links** to the other bases:
* **Description**: Final version of the web server. When you connect to URL: [**http://127.0.0.1:8080/**](http://127.0.0.1:8080/) you get the main page: **index.html** with **links** to the other bases:
![](https://github.com/myTeachingURJC/2019-2020-PNE/raw/master/s13-http-2/exercises-07.png)
In addition, **modify** all the other **html** files (A.html, C.html, G.html, T.html and Error.html) for including a **link** to the **main page**. In this **animation** you can see how it works:
![](https://github.com/myTeachingURJC/2019-2020-PNE/raw/master/s13-http-2/exercises-08.gif)
## END of the session
......@@ -119,8 +116,8 @@ The session is finished. Make sure, during this week, that everything in this li
* [ ] EX6.html
* [ ] All the previous files have been pushed to your remote Github repo
# Credits
* [Juan González-Gómez](https://github.com/Obijuan) (Obijuan)
* [Alvaro del Castillo](https://github.com/acs). He designed and created the original content of this subject. Thanks a lot :-)
......
......