网络编程开发的通用公式:
- 网络软件 = Socket程序 + 网络协议
浏览器类软件的开发通行公式:
- 浏览器 = Socket程序 + http协议
HTTP编程和Web浏览器
常用HTTP请求格式:
请求方法 URL HTTP版本号
请求头信息
请求数据
<一个空行,这是请求的结束行>
举例:
GET http://www.njnu.edu.cn/home.html HTTP/1.1
Accept:text/html
User-Agent:SelfBrowser/1.0(WinNT)
<一个空行,这是请求的结束行>
说明浏览器使用GET方法请求下载www.njnu.edu.cn网站的home.html网页,并声明只能接受HTML数据的文件,客户使用的是SelfBrowser/1.0浏览器。
1.HTTP请求方法:
方 法 | 描 述 |
---|---|
GET | 返回URL所指的文档,一般用于请求下载Web网页。 |
HEAD | 请求头文档,与GET类似,只是Web服务器返回指定文档的首部信息。 |
POST | 请求服务器接收指定文档,但是将新数据追加在原文档的后面。 |
PUT | 与POST类似,不过是将原文档的内容替换为新数据。 |
DELETE | 请求服务器删除指定页面。 |
OPTIONS | 允许客户端查看服务器的性能。 |
TRACE | 用于测试允许客户端查看消息的回收过程。 |
2.URL为统一资源定位符,由它唯一确定用户访问的文件在Internet的位置,一般格式为:
URL = 协议名称 + 主机名(或IP地址)+ 目录与文件名
3.请求头信息是可选项,用于向服务器提供客户端的其他信息:
请求头信息 | 描 述 |
---|---|
Accept | 客户端接收的数据类型。例如Accept:text/html,表示客户端可接受HTML类型的文本 |
User Agent | 客户端软件类型 |
Authorization | 认证消息,包括用户名和口令 |
Referer | 用户获取的Web页面 |
服务器HTTP应答
1.响应的消息格式:
状态行 ----如 HTTP/1.1 200 OK
响应头
响应数据
2.响应代码:
响应代码 | 说 明 |
---|---|
成功响应 | |
200 | OK,请求成功 |
201 | OK,建立新的资源(POST命令) |
202 | 请求被接受,但处理未完成 |
204 | OK,但没有内容返回 |
重定向,需要用户代理执行更多的动作 | |
301 | 所请求资源已被指派为新的URL |
302 | 所请求资源临时位于另外的URL |
304 | 文档没有被修改(条件GET) |
客户差错 | |
400 | 错误的请求 |
401 | 未被授权:该请求要求用户认证 |
402 | 不明原因的禁止 |
404 | 没有找到 |
服务器差错 | |
500 | 内部服务器差错 |
501 | 没有实现 |
502 | 错误的网关,网关或上游服务器来的无效响应 |
504 | 服务器暂时失效 |
3.响应头,服务器客户方提供请求文档信息或服务器状态信息
响 应 头 | 说 明 |
---|---|
Server | Web服务器程序的信息 |
Date | 当前服务器的日期和时间 |
Last-Modified | 请求文档最后一次修改的时间 |
Expires | 请求文档的过期时间 |
Conten-length | 数据长度(字节) |
Conten-type | 数据MIME类型 |
WWW-authenticate | 用于通知客户方需要的认证信息 |