HTTP理解梳理

内容来自《图解HTTP》
沟通通信需要建立一个大家都遵守的规范,怎么传数据,谁先传数据等等,这个规范就是协议Protocol。HTTP也是一种协议,讲到协议就要说一下TCP/IP。

TCP/IP

TCP/IP是各类协议的总称。
1.协议族按层次分为四层:(方便更改测试等)
- 应用层:应用服务通信。FTP,DNS,HTTP
- 传输层:两台计算机之间的数据传输。 TCP(传输控制),UDP(用户数据)
- 网络层:处理流动数据包,选择传输路线。IP(网络协议)
- 链路层:硬件范畴。
通信过程:HTTP请求-TCP分割数据并打上标记和端口号-IP增加通信目的地的MAC地址-链路层

发送端传输数据时,每经过一层都会被打上一个该层的首部信息,接收端挨着去掉,这叫封装。

2.与HTTP密切相关的协议IP,TCP.DNS
(1) IP:把数据包传送给对方。
需要两个条件,IP地址和MAC地址,通过ARP协议解析IP地址反查出MAC地址。(MAC地址是网卡所属固定地址,IP可变,MAC地址基本不变,二者可以配对)
(2)TCP:确保可靠性。
将大数据分割成,并且通过三次握手确保数据能到达目标。
(3)DNS:域名解析
IP和域名相互解析。
他们的关系是:

客户端想浏览http://www.baidu.com,由DNS解析出IP,然后HTTP生成请求报文,TCP将报文分割并打上标记确保可靠性,IP搜索对方地址进行中转传输,TCP将报文重组,服务器接到请求,再把处理结果返回。

HTTP协议

1.HTTP为不保存状态协议
2.常用方法:
- GET:获取资源
- POST:传输实体
- PUT:传输文件
- HEAD:获得报文首部
- DELETE:删除
- OPTIONS:询问支持的方法
- TRANCE:追踪路径
- CONNECT:用隧道协议连接代理
请求报文由请求方法、URI、协议版本、可选首部字段与内容主体构成。

GET /form/entry HTTP/1.1
connection:keep-alive
Content-Type:application/x-www-form-urlencoded

name-ueno&age-37  //内容实体

响应报文:

HTTP/1.1 200 OK
Date:....
Content-Type:...

<html>

3.使用cookie状态管理
因为HTTP是无状态协议,所以不会保存信息。
引入cookie通过在请求响应报文中加入cookie保存客户端信息,辨别不同客户端。

过程:客户端发送请求–服务器(带set-cookie报文)生成cookie,并在响应中添加cookie返回。下一次客户端再发送请求时就会附带cookie一起请求。

4.状态码
1XX Informational (信息性状态码)
2XX Success(成功)

200 OK
204 No Content没有内容
206 Partial Content范围请求

3XX Redirection (重定向状态码) 需要进行附加操作以完成请求
4XX Client Error (客户端错误状态码)

400 Bad Request
401 Unauthorized需要认证
403 Forbidden拒绝访问
404 Not Found

5XX Server Error (服务器错误状态码)

500 Internal Server Error内部资源出故障
503 Service Unavailable 服务器超负载,或者停机维护

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值