前端,数据库学习

HTTP笔记

2017-08-24  本文已影响15人  大侠一点红

HTTP协议(超文本传输协议)

简介

1.http协议是用于web服务器传输超文本浏览器的传输协议

2.http协议是基于TCP/IP通信协议传递数据和建立连接


工作原理

1.http协议工作于C/S架构,浏览器通过url向服务器发送请求,服务器收到请求后,会返回响应到客户端

2.http默认端口80,可以进行更改

3.http是无连接协议,即每次连接只处理一个请求,服务器处理完请求且收到应答后,断开连接,可以减少传输时间

4.http是无状态协议,处理事务时不记忆,所以如果后续事务需要前面信息,需要重传。

5.http流程:

sad
消息结构

1.http的客户端 (web浏览器)向服务端发送请求

2.http的服务端 (web服务器)向客户端返回响应

3.http是通过URI进行传输数据和建立连接

4.请求的结构包括

请求行

请求方法字段(GET/POST ) url字段(例:/data/info.html) HTTP协议版本(http1.0/http1.1)

请求头部 包含许多参数,比如说(常用):

Accept 浏览器允许的MIME类型

Referer 客户端声明从哪个资源访问服务器

User-Agent 包含发送请求的用户信息,浏览器类型

Content-Type 内容类型

Host 要访问的主机名

Connection 判断处理完请求是否继续连接

Cookie 客户机通过这个头可以向服务器带数据

空行 告诉服务器头部到此结束

请求数据 如果是GET,无数据 如果是POST,放入数据 数据间用&相连

如图:


5.响应的结构包括

响应行 包括http协议版本(同上) http状态码(成功是200,其余后面会写) 描述(例ok表示响应成功)

响应头 同请求头部

响应数据 返回对应数据,例:请求是html页面,返回就是html文档

如图:

请求方法
方法名 用途
GET 获取指定的页面信息,返回实体
HEAD 与GET类似,但主要获取报头
POST 向指定资源发送数据进行处理请求,请求包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改。
DELETE 请求服务器删掉指定页面
PUT 向服务器发送数据并修改数据指定的内容
OPTIONS 允许查看服务器性能
TRACE 回显数据,用于测试

状态码

a.分类:

状态码 用途
1** 继续操作信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被收到并处理
3** 重定向,需要进一步操作才能完成请求
4** 客户端错误,可能是语法错误或发送请求错误
5** 服务端错误,服务器处理请求错误

b.具体分类:

1系

101 服务器收到请求,需要请求者继续执行操作
102 更换高版本http协议(http1.0转1.1)

2系

200 成功,服务器收到请求并处理
201 成功请求并创建了新的资源
202 请求成功。但返回的meta信息是一个副本
203 服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 服务器成功处理了请求,但没有返回任何内容
205 服务器成功处理了请求,但没有返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图
206 服务器处理部分GET请求

3系

300 请求资源包括多个位置,服务器提供操作列表供请求者选择
301 永久重定向 资源被永久移动到新的uri,包括返回信息和请求使用新的uri
302 临时重定向 资源临时移动到新的uri,访问时仍然为旧uri
303 查看其它地址。与301类似。使用GET和POST请求查看
304 请求的资源未修改,不返回内容
305 使用代理访问请求网页
307 临时重定向。与302类似。使用GET请求重定向

4系

400 语法错误
401 需要身份验证
403 资源不可用
404 找不到资源
405 请求方法对资源不可用
406 资源已找到,但MIME类型与Accept请求头指定的不符
407 需要代理服务器授权
408 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。
409 请求与资源状态冲突
410 服务器无法重定向
411 请求中无Content-Length头
412 文档太大,服务器需要Retry-enter头
414 URI太长

5系

500 服务器出状况
501 服务器不支持请求中的某功能
502 服务器返回非法应答
503 服务器未应答
504 能及时地从远程服务器获得应答
505 服务器不支持http版本

上一篇下一篇

猜你喜欢

热点阅读