作业

一.HTTP协议

HTTP协议是超文本传输协议,基于TCP/IP通信协议来传递数据,是一个属于应用层的面向对象的协议。常用状态码

状态码 意义
200 OK 从客户端发来的请求在服务器端被正常处理
204 No Content 服务器接收的请求已成功处理,但在返回响应报文中不含实体的主体部分
301 Moved Permanently 永久性重定向
302 Found 临时性重定向
304 Not Modified 客户端发送附带条件请求时,服务器端允许请求访问资源,但未满足条件的情况
400 Bad Request 请求报文中存在语法错误
403 Forbidden 对请求资源的访问被服务器拒绝
404 Not Found 服务器上无法找到请求的资源
500 lnternal Server Error 服务器端在执行请求时发生了错误

二.HTTP URL

URL,中文叫做统一资源定位符,是互联网上用来表示某一处资源的地址。

以下面这个URL为例,介绍下普通URL的各部分组成:
http :// www.asp.com: 8080 /news /index.asp? boardID=5&ID=24618&page=1# name协议部分 域名部分 端口部分 虚拟目录部分 文件名部分 参数部分 锚部分

HTTP之请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP1.0 HTTP1.1
GET,POST,HEAD GET,POST,HEADOPTIONS,PUT,DELETE,TRACE,CONNECT

描述

序号 方法 描述
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有的资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的特面。
6 CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 允许客户端查看服务器的性能。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。
9 PATCH 是对PUT方法的补充,用来对已知资源进行局部更新。

三.计算机网络模型基础

OSI模型总共分为七层,从下到上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每层基本协议如下图所示:

四.http协议中,常见头部字段信息的含义(请求头和响应头)

Request

第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.

第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息

从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等

第三部分:空行,请求头部后面的空行是必须的

即使第四部分的请求数据为空,也必须有空行。

第四部分:请求数据也叫主体,可以添加任意的其他数据。

这个例子的请求数据为空。

1
2
3
4
5
6
7
GET /index.asp HTTP/1.1    请求行,说明请求类型,要访问的资源以及所使用的HTTP版本
Host 请求地址
User-Agent 浏览器信息
Accept 设置接收文件的类型
Referer 请求当前页面的前一个地址
Accept-Encoding 设置接收的编码类型
Accept-Language 设置接收的语言
1
2
3
4
5
6
7
8
POST / HTTP1.1
Host:
User-Agent:
Content-Type: 内容MIME类型
Content-Length: 内容长度
Connection: Keep-Alive 控制不再转发给代理的首部字段、管理持久连接
空行
name=Professional%20Ajax&publisher=Wiley 数据内容

Response

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
第二部分:消息报头,用来说明客户端要使用的一些附加信息
第三部分:空行,消息报头后面的空行是必须的
第四部分:响应正文,服务器返回给客户端的文本信息。

空行后面的html部分为响应正文。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
HTTP/1.1 200 OK
Connection:
Date: 生成响应的日期和时间
Server: Microsoft-IIS/6.0 服务器信息
Content-Length: 31821 相应内容长度
Content-Type: text/html MIME类型的HTML(text/html)
Set-Cookie: ASPSESSIONIDSCAQRATR=IEDHHFPBCGDOOFHJKPKCKPOC; path=/ 发给客户端的,在根目录下
Cache-control: private 指定了请求和响应遵循的缓存机制
空行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ----- 【响应正文】
<HTML><HEAD><TITLE>ÍøÕ¾Ê×Ò³-ÂÌÃ˿Ƽ¼--¾ÞÈ˱³ºóµÄר¼Ò</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="imgbye/Styles.css">
<META content=ÂÌÃ˿Ƽ¼--¾ÞÈ˱³ºóµÄר¼Ò name=keywords>
<META content=ÂÌÃ˿Ƽ¼--¾ÞÈ˱³ºóµÄר¼Ò name=description>
<style type="text/css">
<!--