[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-307719-105":3,"doc-detail-307719-en":81,"detail-sidebar-cat-1-en-105":99},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":74,"head_meta":76,"extra_data":78,"updated_unix":80},105,"en","csc309-web-development-notes-jenci-wei-winter-2023","CSC309 - Web Development Notes - Jenci Wei Winter 2023","","Comprehensive web development course notes outlining how end users access the World Wide Web through browser requests to servers. Covers core networking concepts such as TCP/IP, IP addressing, HTTP and HTTPS, and the role of DNS and domain names. Explains HTTP as a stateless protocol, contrasts stateful vs stateless services, and details HTTP message structure, methods, response codes, URLs, and URL encoding, forming a foundation for later backend, Django, and frontend topics.",{"@graph":14,"@context":73},[15,34,56],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/template/","Template",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/template/presentations/","Presentations",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/template/csc309-web-development-notes-jenci-wei-winter-2023/307719/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/csc309-web-development-notes-jenci-wei-winter-2023/307719.png","ImageObject",442,249,{"name":42,"@type":43},"Tawan","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-29","2026-09-19",true,{"@type":52,"interactionType":53,"userInteractionCount":55},"InteractionCounter",{"@type":54},"ViewAction",15,{"@type":57,"mainEntity":58},"FAQPage",[59,65,69],{"name":60,"@type":61,"acceptedAnswer":62},"What is the basic request-response flow from the end user perspective?","Question",{"text":63,"@type":64},"A user enters a web address in a browser, the browser sends a request to the server, and the server processes it and returns a web page.","Answer",{"name":66,"@type":61,"acceptedAnswer":67},"How do DNS and domain names help clients connect to websites?",{"text":68,"@type":64},"Domain names map easy-to-remember names to IP addresses. Clients must resolve the domain, using DNS, before making a connection.",{"name":70,"@type":61,"acceptedAnswer":71},"What are the main components of an HTTP request and an HTTP response?",{"text":72,"@type":64},"An HTTP request includes method, path, header, and body, while an HTTP response includes response code, header, and body.","https://schema.org",{"og:url":32,"og:type":75,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":77,"canonical":32},"index,follow",{"doc_id":79,"site_id":7},307719,1791728338,{"code":4,"msg":82,"data":83},"success",{"doc_id":79,"user_id":84,"nickname":42,"user_avatar":85,"doc_module":22,"category_id":86,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":87,"file_id":88,"file_url":89,"file_type":90,"file_size":91,"view_count":55,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":92,"language":93,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":94,"faqs":95,"seo_title":96,"seo_description":12,"update_tm":97,"read_time":98},2336475104042,"https://ap-avatar.wpscdn.com/avatar/22000c4c32af1715be0?x-image-process=image/resize,m_fixed,w_180,h_180&k=1786537525561427321",11,"CSC309 Notes  \nJenci Wei Winter 2023  \nContents  \n1 Introduction 3  \n2 Hypertext Markup Language (HTML) 6  \n3 Cascading Style Sheet (CSS) 9  \n4 Backend 18  \n5 Django Templates and Models 27  \n6 Django Models 36  \n7 Migrations 40  \n8 Advanced Views 42  \n9 Django Forms 45  \n10 REST APIs 48  \n11 Django REST Framework (DRF) 50  \n12 Token-Based Authentication 53  \n13 JavaScript 54  \n14 Document Object Model (DOM) 58  \n15 Asynchronous Requests 60  \n16 jQuery 61  \n17 Advanced JavaScript 63  \n18 Event Loop and Promises 66  \n19 React 68  \n20 React Project 71  \n21 Hooks 74  \n22 Global State 76  \n23 Multi-Page React App 77  \n24 Web Deployent 79  \n25 Deploying Django Project 80  \n26 Deploy React Project 83  \n1 Introduction  \nEnd User Perspective  \n1. User enters a web address inside a browser  \n2. Browser sends a request to the server  \n3. Server processes the request and responds with a web page World Wide Web (the Web)  \n• A collection of information and services that can be accessed on local devices through the Internet  \n• Internet  \n{ An interconnected network of computers  \n{ Can communicate with each other through standardized protocols  \n• TCP/IP  \n{ Protocols that provide reliable end-to-end communication between two applications on di􀀋erent computers  \n{ IP (Internet Protocol)  \n∗ Identi􀀌es computers on the network by assigning a unique IP address, e.g. [192.168.7.41](192.168.7.41)  \n∗ Knows how to route data from/to the destination computer { TCP (Transmission Control Protocol)  \n∗ Allows multiple virtual connections to share a single physical IP address  \n∗ Each connection is identi􀀌ed by a unique port number, e.g. 80  \n∗ Deals with the unreliable nature of data transmission over network  \n• [HTTP](HTTP)  \n{ Protocol for delivery of contents from the Web Domains  \n• IP addresses are hard to remember, and it is possible to move websites elsewhere  \n• Some websites may be hosted on multiple physical machines (i.e. CDN: content delivery network)  \n• Want addresses that are easy to remember, and also easy to remap to di􀀋erent IP addresses  \n• Domain Name  \n{ Maps an easy-to-remember name to IP addresses  \n{ [E.g. www.google.com maps](E.g. www.google.com maps) to [142.251.41.78](142.251.41.78)  \n{ Clients must resolve the domain before making a connection Domain Name System (DNS)  \n• A collection of mappings from domain names to their IP addresses  \n• Want to 􀀌nd the DNS server  \n• DNS manually assigned by system administrator { E.g. [8.8.8.8](8.8.8.8) is Google's public DNS  \n• DNS automatically con􀀌gured when computer connects to Internet  \n{ Computer sends a broadcast message to everyone on the local network  \n{ The DHCP server is responsible for assigning an IP address to the computer, and it also provides  \nthe IP address of a DNS server Hypertext Transfer Protocal ([HTTP](HTTP))  \n• A protocol for distributing and accessing hypertext documents, where hypertext is text displayed on electronic devices  \n• Built on top of TCP/IP  \n• Human readable protocol  \n• [HTTP servers](HTTP servers) typically listen on port 80  \n• [HTTPS](HTTPS) ([HTTP](HTTP)) secure  \n{ Messages are encrypted for security purposes, which protects against eavesdropping and tampering { Used by 81 .3% o􀀋 all public websites  \nStateless Protocol  \n• Does not remember previous interaction with their clients  \n• [HTTP is a stateless](HTTP is a stateless) protocol  \nStatefulness  \n• A stateful service reacts di􀀋erently to the same input  \n• Server must track the states of all open connections  \n• E.g. a website might want to know whether a user is logged in  \n{ A stateful server remembers this on the server-side  \n{ A stateless server gives the client a cookie to be passed back later, where the client reminds the server of the previous step  \n\n| Stateful Service | Stateless Service |\n| --- | --- |\n| Requires server to keep information about a session (interaction with client) | Does not require server to remember session states |\n| More complicated to design and","cbCaimQjPaOEi3up","https://ap.wps.com/l/cbCaimQjPaOEi3up","pdf",4369473,83,"English","# Introduction\n## End User Perspective\n## World Wide Web and Networking Basics\n## TCP/IP, IP Addressing, Ports\n## HTTP, HTTPS, and Stateless Protocols\n## HTTP Messages: Requests and Responses\n## HTTP Methods and Response Codes\n## URL and URL Encoding","[{\"question\":\"What is the basic request-response flow from the end user perspective?\",\"answer\":\"A user enters a web address in a browser, the browser sends a request to the server, and the server processes it and returns a web page.\"},{\"question\":\"How do DNS and domain names help clients connect to websites?\",\"answer\":\"Domain names map easy-to-remember names to IP addresses. Clients must resolve the domain, using DNS, before making a connection.\"},{\"question\":\"What are the main components of an HTTP request and an HTTP response?\",\"answer\":\"An HTTP request includes method, path, header, and body, while an HTTP response includes response code, header, and body.\"}]","CSC309 - Web Development Notes - Jenci Wei Winter 2023 | PDF",1789853773,29,{"code":4,"msg":82,"data":100},[101,104,109,114,118,123,128,133,138],{"id":86,"doc_module":22,"doc_module_name":25,"category_name":29,"show_sort_weight":102,"slug":103},90,"presentations",{"id":105,"doc_module":22,"doc_module_name":25,"category_name":106,"show_sort_weight":107,"slug":108},12,"Resumes",80,"resumes",{"id":110,"doc_module":22,"doc_module_name":25,"category_name":111,"show_sort_weight":112,"slug":113},14,"Invoices",70,"invoices",{"id":55,"doc_module":22,"doc_module_name":25,"category_name":115,"show_sort_weight":116,"slug":117},"Posters",60,"posters",{"id":119,"doc_module":22,"doc_module_name":25,"category_name":120,"show_sort_weight":121,"slug":122},16,"Social Media",50,"social-media",{"id":124,"doc_module":22,"doc_module_name":25,"category_name":125,"show_sort_weight":126,"slug":127},17,"Forms",40,"forms",{"id":129,"doc_module":22,"doc_module_name":25,"category_name":130,"show_sort_weight":131,"slug":132},18,"Letters",30,"letters",{"id":134,"doc_module":22,"doc_module_name":25,"category_name":135,"show_sort_weight":136,"slug":137},21,"Paper Templates",5,"papers-templates",{"id":139,"doc_module":22,"doc_module_name":25,"category_name":140,"show_sort_weight":4,"slug":141},158,"General","general-158"]