web 即为:万维网,就是网页的形式传递信息的一种方式。
web应用:即为以网页为基础的一种网站等等管理系统的方式应该都是可以称为wweb应用。
web(超媒体系统):并不是一种类型的计算机网络,实际上,web是一个大规模的提供海量信息存储和交互式超媒体信息服务的分布式应用系统。(不是计算机网络,而是一种系统,并且是分布的,超媒体系统)
超媒体系统:是超文本系统信息多媒体化的扩充,超媒体是web的基础。
要使web文档在Internet上传输,客户端与服务器之间必须遵循http协议(http登场,说明了必要性),它是基于传输层的TCP协议进行可靠传输,且http与平台无关。
支持web服务的 3 个关键技术:HTTP 、HTML 、URL .
html: 超文本,即为组织信息的一种形式。
超媒体:扩展了信息的类型,从文本到媒体。
web的工作方式:是以 浏览器/服务器(B/S) 模式工作。浏览器——————(发送请求)——————>服务器——————> (发送客户请求的文档给客户)————————> 浏览器(将受到的内容解析转化为页面显示)
http以及url
1、url
标准的url在http有3个部分组成:协议类型 、主机名 、路径以及地址。
eg:http://www.szu.edu.cn/szu**.index.html
http: 表示使用的是http协议。
www.szu.edu.cn 表示访问web服务器的主机名
szu**/index.html 表示要访问的主页的路径以及文件名。
url支持:web,还有ftp、E-mail、TELNET等等。
url的通用格式:
访问方式://服务器域名[:端口号]/路径/文件名
(http默认的端口号为:80)
eg:
http:超文本传输协议(http)
ftp:文件传输协议
telnet:交互式会话
mailto:电子邮件地址
2、
http协议的特点:1)支持B/C模式, 2)简单快速 3)灵活 4)无连接 5)无状态
无连接、无状态可以查看下面链接:
http://blog.youkuaiyun.com/u012496940/article/details/48479647
2.1、
http请求报文结构:
web浏览器发送请求报文目的查询一个web页面的可用性,并从web服务器中读取这个页面。
报文组成(4个部分):请求行(request line)、(消息)报头(header)、空白行(blank line)、请求正文(body)
空白行:使用CR和LF 表示,表示报头部分的结束。
报头正文:传输的数据(可以为空)。
请求行:
以一个方法符号开头,空格分开,后跟着 url和协议版本,
格式:method request—url http—version CRLF
其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。
GET 请求获取Request-URI所标识的资源,(“拉”)eg:GET /form.html HTTP/1.1 (CRLF)
POST 在Request-URI所标识的资源后附加新的数据。(浏览器发型一些信息给服务器“推”)
HEAD 从服务器中读取文档的某些信息而不是文档本省(来自服务器的响应不包括文档正文)。和get方法方式相同,只是获得的内容不同。
PUT 请求服务器存储一个资源,并用Request-URI作为其标识。(将新的文档存放在服务器上)
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断。(服务器中的内容不会增加,就是一种测试。)
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求。
PATCH 当浏览器哟啊使用正文中存放的文档区替换url位置的文档时、和put类似,只不过这里使用正文。
COPY 浏览器将文档复制到另外一个位置。
MOVE 浏览器将文档一到另外一个位置。
LINK 创建一个文档到另外一个文档的链接时候,源文件的位置由URL给出,目的文件的位置由报头给出(存放link的地方)。
UNLINK 删除从一个文档到另外一个文档的链接时候,URL 给出该文件的位置。
POST方法要求被请求服务器接受附在请求后面的数据,常用于————> 提交表单。
eg:
POST /reg.jsp HTTP/ (CRLF)
Accept:image/gif,image/x-xbit,... (CRLF)
...
HOST:www.guet.edu.cn (CRLF)
Content-Length:22 (CRLF)
Connection:Keep-Alive (CRLF)
Cache-Control:no-cache (CRLF)
(CRLF) //该CRLF表示消息报头已经结束,在此之前为消息报头
user=jeffrey&pwd=1234 //此行以下为提交的数据
3、http应答结构
http应答结构包括3各部分:状态行、 报头 、正文 。
其中状态行包括3个字段: http版本、 状态码 、状态短语。
状态行 eg:
HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。
1xx:(只提供信息)指示信息--表示请求已接收,继续处理,
2xx:(表示请求成功信息)成功--表示请求已被成功接收、理解、接受
3xx:(表示客户定向到另一个URL)重定向--要完成请求必须进行更进一步的操作
4xx: (表示客户端出错)客户端错误--请求有语法错误或请求无法实现
5xx:(表示服务器端出错)服务器端错误--服务器未能实现合法的请求
4、请求报文和应答报文的结构
报头作用:报头在客户与服务器之间交换附加的信息。可以为一行或者多行。
可以有四种类型:通用头部、请求头部、应答头部、正文头部。
请求报头 :通用头部、请求报头、正文头部。
应担报头:通用头部、应答头部、正文头部。
各个头部的讲解:
通用头部:给出的是报文的通用信息
请求头部:在请求报文中,指明客户的配置与客户优先使用的文档格式。
应答头部:在应答报文中,指明服务器的配置和关于请求的特殊信息。
正文头部:主要出现在应答报文中(请求报文也是有的:post中),用于说明关于文档正文达到的信息。
下面是get、head、post的一个请求的使用情况。可以仔细阅读图,对应上面的信信息就可以对上:
下面是get和head的方法:
下面是post的方法和http在网络上的使用场景图:
关于还有一个内容就是html,这个是比较简单的,同时又是内容的一个书写的情况。这里记录了这些内容的具体情况。