![]() 一、HTTP1.网络请求过程(1)通过 URL 查找服务器 IP(2)三次握手建立 TCP 连接![]() (3)发送 HTTP 请求(4)服务器响应请求(5)浏览器解析 HTML(6)页面渲染后呈现给用户2.请求报文(1)请求行① 请求方法1)GET请求指定页面,并返回页面内容 2)POST一般用于提交表单或上传数据,数据被包含在请求体中 3)PUT客户端向服务器发送数据,以取代指定文档内容 4)DELETE请求服务器删除指定页面 5)CONNECTHTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器 6)HEAD类似于 GET 请求,只是返回的响应无具体内容,一般用于获取报头 7)OPTIONS允许客户端查看服务器的性能 8)TRACE回显服务器收到的请求,一般用于测试或诊断 ② URL用地址标记一个网络资源,强调的是给资源定位 ③ HTTP版本HTTP/主版本号.次版本号 (2)请求头① Accept指定客户端能够接收的内容类型 ② Accept-Charset浏览器可以接收的字符编码集 ③ Accept-Encoding指定浏览器可以支持的 Web 服务器返回内容的压缩编码类型 ④ Accept-Language浏览器可接收的语言 ⑤ Accept-Ranges可以请求网页实体的一个或多个子范围字段 ⑥ AuthorizationHTTP 授权的授权证书 ⑦ Cache-Control指定请求和响应遵循的缓存机制 ⑧ Connection表示是否需要持久连接(HTTP 1.1 默认进行持久连接) ⑨ CookieHTTP 请求发送时,会把保存在该请求域名下的所有 Cookie 值一起发送给 Web 服务器 ⑩ Content-Length请求的内容长度 ⑪ Content-Type请求的与实体对应的 MIME 信息 ⑫ Date请求发送的日期和时间 ⑬ Expect请求的特定的服务器行为 ⑭ From发出请求的用户的 E-mail ⑮ Host指定请求的服务器的域名和端口号 ⑯ If-Match只有请求内容与实体相匹配才有效 ⑰ If-Modified-Since如果请求的部分在指定时间之后被修改,则请求成功;否则,返回 304 代码 ⑱ If-None-Match如果内容未改变,返回 304 代码,参数为服务器先前发送的 Etag,通过与服务器回应的 Etag比较判断是否改变 ⑲ If-Range如果实体未改变,服务器发送客户端丢失的部分;否则,发送整个实体,参数也为 Etag ⑳ If-Unmodified-Since只有实体在指定时间之后未被修改才请求成功 21 Max-Forwards限制信息通过代理和网关传送的时间 22 Pragma用来包含实现特定的指令 23 Proxy-Authorization连接到代理的授权证书 24 Range只请求实体的一部分,指定范围 25 Referer先前网页的地址,当前请求网页紧随其后,即来路 26 TE客户端愿意接收的传输编码,并通知服务器接收尾加头信息 27 Upgrade向服务器指定某种传输协议以便服务器进行转换(如果支持) 28 User-AgentUser-Agent 的内容包含发出请求的用户信息 29 Via通知中间网关或代理服务器地址,通信协议,标识一个请求经过的网关路由节点 30 Warning关于消息实体的警告信息 (3)空行请求头的最后会有一个空行,表示请求头结束,接下来是请求正文,这个空行必不可少 (4)请求正文POST 请求中提交的表单数据 3.响应报文(1)状态行① 协议版本② 状态码1)1xx指示信息,表示请求已接收,继续处理 2)2xx成功,表示请求已被成功接收、理解 3)3xx重定向,表示要完成请求必须进行更进一步的操作 4)4xx客户端错误,表示请求有语法错误或请求无法实现 5)5xx服务器端错误,表示服务器未能实现合法的请求 ③ 状态码描述(2)响应头① Accept-Ranges表明服务器是否支持指定范围请求及支持哪种类型的分段请求 ② Age从原始服务器到代理缓存形成的估算时间(以秒计,非负) ③ Allow对某网络资源的有效的请求行为,不允许则返回 405 ④ Cache-Control告诉所有的缓存机制是否可以缓存及缓存哪种类型 ⑤ Content-EncodingWeb服务器支持的返回内容压缩编码类型 ⑥ Content-Language响应正文的语言 ⑦ Content-Length响应正文的长度 ⑧ Content-Location请求资源可替代的备用的另一地址 ⑨ Content-MD5返回资源的 MD5 校验值 ⑩ Content-Range在整个返回体中本部分的字节位置 ⑪ Content-Type返回内容的 MIME 类型 ⑫ Date原始服务器消息发出的时间 ⑬ ETag请求变量的实体标签的当前值 ⑭ Expires响应过期的日期和时间 ⑮ Last-Modified请求资源的最后修改时间 ⑯ Location用来重定向接收方到非请求 URL 的位置以完成请求或标识新的资源 ⑰ Pragma包括实现特定的指令,它可应用到响应链上的任何接收方 ⑱ Proxy-Authenticate它指出认证方案和可应用到代理的该URL 上的参数 (3)空行响应头的最后会有一个空行,表示响应头结束,接下来是响应正文。这个空行必不可少 (4)响应正文二、网页的组成4.HTML决定网页的结构和内容 5.CSS决定网页的样式 6.JavaScript控制网页的行为 |
|