zoukankan      html  css  js  c++  java
  • 深入理解计算机系统 第十一章 网络编程 (2)

    一、Web基础

    Web客户端和服务器之间的交互用的是一个基于文本的应用级协议,叫做HTTP(Hypertext Transfer Protocol,超文本传输协议)。HTTP是一个简单的协议。一个Web客户端(即浏览器)打开一个到服务器的因特网连接,并且请求某些内容。服务器响应所请求的内容,然后关闭连接。服务器读取这些内容,并把它显示在屏幕上。
    二、Web内容
    对于Web客户端和服务器而言,内容是与一个MIME(Multipurpose Internet Mail Extensions,多用途的网际邮件扩充协议)类型相关的字节序列。
    Web服务器以两种不同的方式向客户端提供内容:
    取一个磁盘文件,并将它的内容返回给客户端。磁盘文件称为静态内容(static content),而返回文件给客户端的过程称为服务静态内容(serving static content)。
    运行一个可执行文件,并将它的输出返回给客户端。运行时可执行文件产生的输出称为动态内容(dynamic content),而运行程序并返回它的输出到客户端的过程称为服务动态内容(serving dynamic content)。
    每条由Web服务器返回的内容都是和它管理的某个文件相关联的。这些文件中的每一个都有一个唯一的名字,叫做URL(Universal Resource Locator,通用资源定位符)。
    三、HTTP 事务
    因为HTTP是基于在因特网连接上传送的文本行的,我们可以使用Linux的TELNET程序来和因特网上的任何Web服务器执行事务。对于调试在连接上通过文本行来与客户端对话的服务器来说,TELNET程序是非常便利的。
    为了发起事务,我们输入一个HTTP请求,服务器返回HTTP响应,然后关闭连接。
    1)、HTTP请求
    一个HTTP请求的组成是这样的:一个请求行(request line),后面跟随零个或更多个请求报头(request header),再跟随一个空的文本行来终止报头列表,一个请求行的形式是:
    method  URI  version
    HTTP支持许多不同的方法,包括GET、POST、OPTIONS、HEAD、PUT、DELETE和TRACE。
    GET方法指导服务器生成和返回URI(Uniform Resource Identifier,统一资源标识符)标识的内容。URI是相应的URL的后缀,包括文件名和可选的参数。
    请求行中的version字段表明了该请求遵循的HTTP版本。
    2)、HTTP响应
    HTTP响应和HTTP请求是相似的。一个HTTP响应的组成是这样的:一个响应行(response line),后面跟随着零个或更多的响应报头(response header),再跟随一个终止报头的空行,再跟随一个响应主体(response body)。一个响应行的格式是:
    version status-code status-message
    version字段描述的是响应所遵循的HTTP版本。状态码(status-code)是一个3位的正整数,指明对请求的处理。状态消息(status message)给出与错误代码等价的英文描述。
  • 相关阅读:
    [Android]SharedPreferences
    [Android]XML界面布局常用属性概括
    [Android]XML解析技术
    [Android]Layout标签之-viewStub,requestFocus,merge,include
    [Android]JSON
    [Android]SQLite基本控制台命令简介
    [Android]流文件
    [HTML5]WebSQLDatabase-关系型数据库简介
    [Android]ADB和NavicatLiteSQLDBmanager的数据管理
    [Android]SqliteOpenHelper抽象类实现SQL_DB的管理
  • 原文地址:https://www.cnblogs.com/zhishuiyushi/p/12019147.html
Copyright © 2011-2022 走看看