Course 1 – Building Web Applications in PHP
Week – 1
V1: Why PHP?
00:04
V2: Welcome to Course 1 In the Specialization
- Charles Severance welcomes students to the first class of their PHP specialization.
- This course spans five weeks and covers essential basics in HTML, CSS, HTTP, and PHP.
- It focuses on back-end web development and application creation, not design.
- Prior knowledge of CSS is helpful but not required.
- For web design, another specialization by Colleen Van Lent is recommended.
- Students can choose the order of taking these specializations.
- Charles advises starting with web design before moving on to web application development.
- Students can use forums for help, and instructional staff is available for support.
- Charles can be contacted on Twitter via the handle @drchuck.
- He wishes students good luck and looks forward to seeing them successfully complete the course.
Textbook & Course Resources
The Missing Link: An Introduction to Web Development and Programming – Milne Open Textbooks
Syllabus
Welcome to Building Web Applications in PHP
By Charles Severance!
In this course, you’ll explore the basic structure of a web application, and how a web browser interacts with a web server. You’ll be introduced to the request/response cycle, including GET/POST/Redirect. You’ll also gain an introductory understanding of Hypertext Markup Language (HTML), as well as the basic syntax and data structures of the PHP language, variables, logic, iteration, arrays, error handling, and superglobal variables, among other elements. An introduction to Cascading Style Sheets (CSS) will allow you to style markup for webpages. Lastly, you’ll gain the skills and knowledge to install and use an integrated PHP/MySQL environment like XAMPP or MAMP.
You can see the grading breakdown below for each assignment:
Task | Progress |
---|---|
Autograder: HyperText Markup Language (HTML) | 20% |
Our First PHP Application | 20% |
Auto-grader: Guessing Game | 20% |
Reversing an MD5 hash (password cracking) | 20% |
Autograder: Rock Paper Scissors | 20% |
V3- Our Technologies
01:05
01:14
- The lecture introduces core technologies used in web applications.
- Charles Severance discusses the role of people in developing these technologies.
- Core technologies covered include Apache Web Server, PHP, SQL, JavaScript, jQuery, and JSON.
- The Apache Web Server was created in the 1990s as an open-source project, designed to handle HTTP requests.
- C programming language underpins many of these technologies.
- PHP, created by Rasmus Lerdorf, is a templating language merged into HTML for dynamic web page generation.
- SQL is a powerful language for database management, developed as a standard to communicate with various databases.
- JavaScript is a versatile language for web browser interactions and was invented by Brendan Eich.
- jQuery, created by John Resig, simplifies interactions with the Document Object Model (DOM) in browsers.
- JSON (JavaScript Object Notation) is a data format used for communication between client and server.
- The lecture emphasizes the human aspect of technology development and encourages students to watch interviews with key figures in these technologies.
04:53
05:52
06:18
07:11
08:24
NIST standardized it.
09:40
Document object model help JS manipulate your browser. Built as a server-side language.
10:48
11:43
12:50
V4 – HyperText Transfer Protocol (HTTP)
00:21
- This lecture discusses the construction of web pages and the importance of understanding how web applications work, as they involve multiple layers and components.
- The lecture mentions technologies used in web browsers, such as HTML, CSS, Document Object Model (DOM), JavaScript, jQuery, and JSON.
- On the server side, technologies include PHP, SQL, and HTTP (Hyper Text Transport Protocol).
- HTTP is the primary application layer protocol invented by Tim Berners-Lee and Robert Cailliau in 1989-1990.
- A URL (Uniform Resource Locator) is explained as a concatenation of protocol, server, and resource location, which helps browsers retrieve web pages.
- The lecture outlines the steps of a basic hypertext navigation cycle, including user input, GET request, server response, parsing, rendering, and display.
- Internet standards and protocols are discussed, emphasizing the open and collaborative nature of their development, with the Internet Engineering Task Force (IETF) as a key organization.
- RFCs (Requests For Comments) are mentioned as the standards governing protocols like HTTP, where experts can contribute and improve standards.
- The lecture ends with a teaser about manually hacking an HTTP request in the next session.
01:45
01:55
02:31
04:55
05:07
06:49
07:00
08:12
The browser is the client that sees the website and requests a get request to the server
08:47
in the form of html
09:23
Document Object model receives and parses it.
09:51
Governs the protocols we use. IETF
Standards are called RFCs.
11:32
11:50
V5 – Request/Response Cycle
00:26
Please note – telnet is no longer enabled by default, or it has been removed by software vendors. It has become a security issue as login details (usernames and passwords) are sent in clear (unencrypted) text. It is not required for the course and should not be enabled or installed.
Treat this as an example only, using the Developer Console Inspect (shown after this telnet example) is the current way to see the HTML and headers.
01:25
telnet was a way to log into server.
port 80 is where we expect a web server to be listening — http
03:57
04:35
Header – meta data
06:04
07:11
08:44
200 OK – found
09:05
doesnt exit 404 not found
10:54
12:33
12:42
Summary :
- In this section, the instructor delves deeper into how HTTP requests work and demonstrates how to manually create an HTTP request.
- The instructor points out that the demonstration uses the old HTTP/1.0 protocol for simplicity. Newer servers prefer at least HTTP 1.1.
- Telnet, an old protocol predating the internet, is used to connect to the server on port 80, where web servers typically listen.
- The instructor demonstrates creating an HTTP GET request by typing the command into telnet and shows the response from the server.
- He explains that the response can be broken down into two parts: the header and the body, with a blank line separating them.
- The header contains metadata, including details about the server, content type, and more.
- The instructor also highlights the significance of the status code, such as 200 OK for a successful request or 404 Not Found for a non-existent resource.
- He mentions that this manual process is the hardcore way and encourages students to use browser developer tools instead.
- Browser developer tools, such as Chrome’s Developer Console, are essential for debugging and understanding how web applications function.
- The instructor demonstrates how to use browser developer tools to inspect network requests, including details like headers, response data, and status codes.
- He emphasizes that understanding the request-response cycle is crucial for web development, and this knowledge will be built upon throughout the course.
- The instructor concludes by highlighting the three layers of web development: the browser, web server, and database server, which are interconnected in web applications.
- He encourages students to grasp these fundamental concepts, as they underpin web development using various frameworks and technologies.
V8 – Bonus: Office Hours in San Francisco
00:12
V9 – Bonus: Office Hours in San Francisco
00:16
Disclaimer: This blog is intended for educational purposes and no commercialization is intended. All rights belong to Coursera and the University of Michigan.
This is the detailed Week 1 summary, prepared while I was taking the course myself
Week 2 detailed summary and screenshots coming soon…