首页 > 其他分享 >COMP3322 notes P1 - Internet & WWW Basic

COMP3322 notes P1 - Internet & WWW Basic

时间:2023-09-22 12:13:52浏览次数:43  
标签:Web WWW P1 HTTP COMP3322 Basic server slides Internet

选这门课完全是为了推进我博客美化的大业!希望学完之后 update logs 里的一部分 issues 能自己亲手解决。

首先来到 Internet and WWW basic: 这些基本的 network 知识对接下来的 front-end framework 学习大有裨益。Internet, Web, DNS, HTTP 等「最熟悉的陌生人」在这一节得以祛魅。

从这门课开始我打算 develop 一个新的笔记模式。目前已有的笔记模式大概分为:

  • Fragment 碎片型。Ex. ENGG1340/COMP2113.
  • Essence 精华型。Ex. ENGG3357.
  • Comprehensive 全面型。Ex. Algorithms I & II.

对于类似 COMP3322 这种概念较多较杂的课程,碎片型显得没有条理,精华型容易产生遗漏,全面型整理起来又太过冗长。于是我准备尝试一下结合课程 slides 的 revision-oriented 型:一切以 final 复习方便为宗旨!


{% note warning %}

  This article is a self-administered course note.

  It will NOT cover any exam or assignment related content.

{% endnote %}


What is the Internet?

The Internet is the backbone of the Web, the technical infrastructure that makes the Web possible. At its most basic, the Internet is a large network of computers which communicate all together.

Keywords. [见 slides 01-Internet-Basic]

  • Internet is a technical infrastructure.
  • hosts (主机)。
  • IP routers (\(\sim n^2\) links to \(n\) links).

What is World Wide Web (WWW)?

Internet 的中文翻译是互联网;而 WWW (World Wide Web) 是万维网。在此之前我一直以为它们指的是同一种东西;然而互联网中的「网」强调的是 network;而万维网中的「网」指的是 web。这个问题挺值得玩味。

另外,WWW 的台译是全球资讯网,我认为该翻译虽没有万维网那么「雅」,但「信」,「达」却做得更好。

Keywords. [见 slides 01-Internet-Basic]

  • hypertext links (超文本链接).
  • uniform resource locator (URL): protocol + domain name + network path.
    • uniquely identify a resource on the WWW.
  • client-server communication: by means of HTTP protocol.
  • publishing documents with HTML & CSS.

Client-Server Communication

Keywords. [见 slides 01-Internet-Basic]

  • End-to-End and port numbers. [a]
  • [IMPORTANT] Illustration of steps taken by client and server.
  • IP address and IPV4 addressing. [b]
  • localhost: this computer. IP: 127.0.0.1.

[a]: 客户端同时运行着 Google Chrome 与 Firefox,而服务器端运行着 Nginx 与 MongoDB;通过分配不同的 port numbers,进程间可以分别建立联系 (Chrome \(\to^{80}\) Nginx, Firefox \(\to^{443}\) MongoDB)。客户端的进程向对应的端口发送请求;而服务器端的进程则监听特定的端口,并对请求进行回应。

[b]: IPV4 addressing scheme 的前/后缀。在 HKU 之外,148.7 这一前缀将作为 (HKU) physical network locator;而在 HKU 内部,147.8.175 这一前缀将作为 (HKU CS) physical network locator.


Domain Name System (DNS)

DNS maps human-readable domain names to binary addresses used by Internet Protocol.

Keywords. [见 slides 01-Internet-Basic]

  • hierarchical domain names: read from right to left.
    • nameless DNS root node connecting to all TLDs.
    • top-level domains (TLD). e.g., com, org, hk, cn...
    • second-level domains (SLD). e.g., thisisxxz...
    • 3rd, 4th...
  • distributed hierarchical database.
    • internal machines \(\to\) local DNS servers (provided by ISP) \(\to\) root name servers.
  • [IMPORTANT] domain name address resolution process.
  • DNS caching: browser cashes/local DNS(name) server cashes.

Hypertext Transfer Protocol (HTTP)

HTTP is an extensible protocol that is easy to use. The client-server structure, combined with the ability to add headers, allows HTTP to advance along with the extended capabilities of the Web.

Keywords. [见 slides 01-Internet-Basic]

  • application-layer protocol: sent over TCP.
  • stateless but not sessionless (e.g., cookies).
  • HTTP/1.0. HTTP headers, status code info.
  • HTTP/1.1 (still widely used). pipeline request, caching, content negotiation.

HTTP Messages

Keywords. [见 slides 01-Internet-Basic]

  • HTTP request: [request type] [URL] [HTTP version].
    • e.g., GET /https://i.cs.hku.hk/~atctam/view/Simple.html HTTP/1.1.
  • HTTP response (status line): [HTTP version] [status code] [status phrase].
    • e.g., HTTP/1.1 200 OK.
  • HTTP headers. A series of key-value pairs [case_insensitive_name]: [value].
    • provide additional info. 4 kinds: General/Entity/Request/Response.
  • Message body.
    • requests: do not have a body for GET, HEAD..., have it for POST...
    • responses: carries the resource (HTML page) requested by clients.
  • Web requests. The browser makes subsequent requests for each resource (CSS, scripts, external pictures...) referenced in the HTML.

Caching & Validation

Keywords. [见 slides 01-Internet-Basic]

  • web caching: private browser caches/proxy servers caches.
    • advantages: (1) cache close to client \(\to\) reduce response time. (2) decrease network traffic to distant servers.
  • stale: Cache-Control & Expires headers.
  • validation: two response headers & a request header.
    • web server responses with Etag and Last-Modified headers.
    • browser/proxy server requests with If-None-Match and/or If-Modified-Since header.
    • If not modified, web server responses with HTTP/1.1 304 Not Modified.
  • cookies. server sends cookies to browser with the Set-Cookie header. browser stores it and the next request to the same server includes the Cookie header.
    • responses: Set-Cookie: user_id=1678.
    • (next) requests: Cookie: user_id=1678.

Reference

{% note warning %}

  This article is a self-administered course note.

  References in the article are from corresponding course materials if not specified.

{% endnote %}

Reference website:

Course info:

Code: COMP3322, Lecturer: Dr.Anthony Tam.

标签:Web,WWW,P1,HTTP,COMP3322,Basic,server,slides,Internet
From: https://www.cnblogs.com/VeniVidiVici/p/17722001.html

相关文章

  • COMP3322 notes P2 - HTML Basic
    用课程上介绍的HTMLvalidation网站W3CMarkupValidator检查了一下本站HTML文件的正确性,结果弹出了57个Error与Warning。我在魔改的时候到底做了些什么啊……不过从这也能看出HTML语言的permissive性质;宽松的语法与browser也是Web长盛不衰的原因之一。{%n......
  • P1075 [NOIP2012 普及组] 质因数分解
    算法一根据唯一分解定理,小于\(n\)的最大的能整除\(n\)的整数一定就是答案,可以暴力枚举。时间复杂度\(O(n)\),实际得分\(60\)。算法二发现算法一不能通过的原因是较大的那个质数可能的取值范围太大了。而较小的那个质数一定小于等于\(\sqrtn\),我们枚举它即可。时间复......
  • P1024 [NOIP2001 提高组] 一元三次方程求解
    因为精度要求很低,所以有一个暴力的想法就是枚举区间内相差很小的两个数然后判断。保留两位小数后记得判重。考虑优化。发现根与根差的绝对值大于等于\(1\)这个条件没有利用。有了这个条件我们发现相邻两个整数之间(不包含端点)最多有一个根。于是可以先判掉整数然后在区间内有根......
  • P1258 小车问题
    就算不要求同时到达答案也是一样的,因为完全可以让先到的人少坐一点车。两人同时到达最省时间。在某个时刻,可能是小车载着某个人在开,另一个人在走;也可能是两人都在走,小车在两人之间,去追在后面的那个人。两人走的路程和坐车的路程都分别相同。其它情况肯定不优,而上面的方案可以把......
  • PPT| 汽车制造行业企业数智化战略规划 P144
       随着信息技术和智能制造技术的不断发展,汽车制造业正在经历数字化和智能化转型,汽车数智化已成为汽车行业的重要趋势。汽车数智化是指通过数字化、智能化、互联化等技术手段,将汽车制造过程数字化,实现生产、研发、销售、售后等各个环节的高效协同,以提升汽车行业的生产效率、......
  • iOS开发证书、bundle ID、App ID、描述文件、p12文件,及企业证书打包发布详述
    引言  此操作手册用于提供客户进行企业发布299美金的账户发布非AppStore的app程序的CSR证书,distribution证书以及p12证书导出用。2.iOS开发证书,描述文件,bundleID的关系苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制。这里面的关键词有:个人开发者账号,企业开发者账......
  • 最新版 苹果 IOS AppStore证书申请全流程 包括p12文件
    第一步登陆开发者网站并进入证书管理页。辅助工具网站地址:http://www.applicationloader.net/第二步添加【Certificates】证书。在这里插入图片描述第三步 进入添加页后,根据需求选择。第四步选择好环境之后,这里需要选择一个证书,这个证书需要苹果电脑生成。第五步在苹果电脑上打开......
  • 洛谷 P1469. 找筷子
    找筷子题目描述经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题:筷子!CX小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子......
  • 洛谷 P1143. 进制转换
    进制转换题目描述请你编一程序实现两种不同进制之间的数据转换。输入格式共三行,第一行是一个正整数,表示需要转换的数的进制$n\(2\len\le16)$,第二行是一个$n$进制数,若$n>10$则用大写字母$\verb!A!\sim\verb!F!$表示数码$10\sim15$,并且该$n$进制数对应的十进制的......
  • 洛谷 P1862 输油管道问题
    洛谷\(P1862\)输油管道问题如果只有一口井,那么显然是越近越好。如果有两口井,那么显然是有以下三种情况:两口井都在主管道北边,那么这个时候的两个连接管道的长度和肯定大于两口井的\(Y\)坐标之差。两口井都在主管道南边,和情况1是一样的两口井,一个在主管道南边,一个在主......