Web ページの来訪者数カウンタなどのように, 訪問者が訪れるごとに新たなページを生成する機能を実現できる仕組みはどれか。
平成25年度 春期 ITパスポート試験 問77
这道题的解析和你的作答记录。
問 77
- ア
正解 正确答案是 ア「CGI」。CGI(Common Gateway Interface,通用网关接口)是一种约定(接口规范),用于让 Web 服务器调用并执行外部程序,再把其执行结果作为网页返回给浏览器。普通的静态网页只是把放在服务器上的 HTML 文件原样发回,所以无论谁在什么时候查看,内容都是一样的。与此相对,使用 CGI 之后,接到浏览器请求的服务器就能根据该请求启动程序,并把程序生成的 HTML 返回。因此可以生成每次访问内容都不同的页面,也就是动态页面。题目中的访客计数器就是其典型例子:每当有访问者来访,服务器上的程序就把计数器的值加 1 并保存,再把嵌入了这个最新数值的 HTML 组装好返回。此外,像留言板、问卷的受理、搜索结果的显示、对表单中输入内容的处理等,凡是结果因用户、因访问而变化的功能,都可以用这一机制实现。符合题目中「每当有访问者来访就生成新页面」这一描述的,只有 CGI。
错误イ
cookie 是这样一种机制:Web 服务器让浏览器临时保存一小段数据,当下次访问同一站点时,浏览器会自动把这段数据送回。它用于保持登录状态、记住购物车中的内容、识别用户等,确实有助于分辨「是谁来了」。但 cookie 本身只是放在浏览器一侧的小段数据以及关于其传递的约定,并不具备在服务器上运行程序、组装页面的作用。要像访客计数器那样生成新页面,归根结底还需要另外一套在服务器端执行处理的机制,而 cookie 承担不了这个角色。
错误ウ
HTML(HyperText Markup Language,超文本标记语言)是用标签来描述标题、段落、表格、图像、链接等网页结构和内容的标记语言。它终究只是决定「页面如何书写表达」的记法,而不是能按条件分支处理或进行计算的执行机制。HTML 文件的内容是按事先写好的样子固定下来的,所以无论来多少访问者,返回的内容都相同,无法统计来访人数并把它反映出来。CGI 生成的结果虽然是以 HTML 的形式返回的,但生成它的机制本身并不是 HTML。
错误エ
SQL(Structured Query Language,结构化查询语言)是用来对关系数据库下达数据的查询、插入、更新、删除等指令的语言。把计数器的值记录到数据库中这类用途确实可以用它,但 SQL 是操作数据库的语言,而不是「Web 服务器接收浏览器的请求、启动程序、再把结果作为网页返回」这一整套机制。执行 SQL 的终究是运行在服务器端的程序(由 CGI 等启动的程序)那一方。因此,作为每次来访都生成新页面的机制本身,它并不符合。
- CGI(Common Gateway Interface,通用网关接口)是让 Web 服务器启动外部程序、并把其执行结果作为 HTML 返回的一种约定,是实现内容随每次访问而变化的动态网页的代表性机制。访问计数器、留言板、问卷和表单的受理、搜索结果的显示等都是它的例子。
- 要掌握静态页面与动态页面的区别。把事先准备好的 HTML 文件原样返回的是静态页面;收到请求之后在服务器端执行程序、当场生成页面再返回的是动态页面。相近术语在职责上的差别也最好一并整理清楚:HTML 负责页面的描述,cookie 负责在浏览器一侧保持状态和识别用户,SQL 负责操作数据库,它们都不是生成页面的机制本身。