HTTP协议
2017-09-26 23:50:58 0 举报
AI智能生成
HTTP协议简析
作者其他创作
大纲/内容
应用层协议
参考《图解HTTP》
HTTP
1. 用于客户端和服务器端之间的通信
客户端
请求访问文本或图像等资源的一端
服务器端
提供资源响应的一端
2. 概念
URI
统一资源标识符
URL
统一资源定位符
网址地址
3. TCP/IP
分层
1应用层
2传输层
TCP三次握手
发送端首先发送一个带SYN标志的数据包给接收端
接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息
最后发送端再回传一个带ACK标志的数据包,代表“握手”结束
3网络层
IP
4数据链路层
通信传输流
首先作为客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求
HTTP协议生成针对目标Web服务器的HTTP请求报文
TCP协议将HTTP请求报文按序号分割成多个报文段
IP协议搜索对方的地址,一边中转一边传送
TCP协议从对方那里接收到报文段,按序号重组请求报文
HTTP协议对Web服务器请求的内容进行处理
请求的处理结果也同样利用TCP/IP通信协议向客户端进行回传
4. 请求报文
请求方法
GET:获取资源
用来请求访问已被URI识别的资源
POST:传输实体主体
PUT:传输文件
由于自身不带验证机制,存在安全性问题
HEAD:获得报文首部
与GET一样,只是不返回报文主体部分
用于确认URI的有效性及资源更新的日期时间
DELETE:删除文件
与PUT相反
不带验证机制,一般的Web网站不使用
OPTIONS:询问支持的方法
TRACE:追踪路径
让Web服务器端把之前的请求通信环回给客户端
不常用,且易引发XST(跨站追踪)攻击
CONNECT:要求用隧道协议连接代理
请求URI
完整的请求URI
GET http://hackr.jp/index.htm HTTP/1.1
在首部字段Host中写明网络域名或IP地址
GET /index.htm HTTP/1.1
Host: hackr.jp
对服务器本身发起请求用*代替URI
OPTIONS * HTTP/1.1
协议版本
HTTP/1.1
请求首部字段
内容实体
5. 响应报文
状态码
2XX 成功
200 OK
请求已正常处理
204 No Content
请求处理成功,但没有资源可返回
206 Partial Content
表示客户端进行了范围请求,服务器成功执行了这部分的GET请求
3XX 重定向
301 Moved Permanently
永久性重定向
302 Found
临时性重定向
禁止POST变换成GET,实际使用时不遵守
303 See Other
表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源
304 Not Modified
表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件
和重定向没关系
307 Temporary Redirect
临时重定向
遵照标准不会从POST变换成GET
4XX 客户端错误
400 Bad Request
请求报文中存在语法错误
401 Unauthorized
页面需认证或认证失败
403 Forbidden
访问被拒绝
如:未获得文件系统的访问授权、访问权限出现某些问题
404 Not Found
服务器上无法找到请求的资源
5XX 服务器错误
500 Internal Server Error
服务器端在执行请求时出现错误
503 Service Unavailable
服务器暂时处于超负载或正在进行停机维护,现在无法处理请求
响应首部字段
实体主体
6. HTTP不保存状态
引入Cookie
通过在请求和响应报文中写入cookie信息来控制客户端的状态
客户端向服务器端发送请求
服务器端生成Cookie并在响应报文中添加Cookie后返回
客户端保存Cookie
下次客户端再往服务器发送请求时,会自动在请求报文加入Cookie值
服务器端检查Cookie,对比服务器上的记录,得到之前的状态信息
Cookie的工作机制是用户识别和状态管理
0 条评论
回复 删除
下一页