目录
500:Internal Server Error(服务器故障)
http概念
Http:超文本传输协议,也是现在网络中最常用的一种协议,当用户打开浏览器(客户端),输入url,通过http协议向url地址请求数据并返回(服务器),这里http就是桥梁,用来客户端与服务器之间通信的。
如下图:
http的封装与传输图解
我们用 HTTP 举例来说明:
- 首先作为发送端的客户端在应用层 (HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。
- 接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端 口号后转发给网络层。
- 在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP 请求。
在这里牵涉到IP(IP协议,注意和IP地址是不同的)
补充:
- IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方 那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC 地址(Media Access Control Address)。
- IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC 地址基本上不会更改(Mac地址在庞大的的请求调用关系网中往往起到转发的作用)。
经由IP 协议和Mac地址的转发最终到达请求服务器, 如下图:
认识http
http是一种不保存状态,即无状态协议,对请求和相应不做持久化处理。(之后引入cookie保存状态,但本身http是不保存任何请求和相应信息的)如下图所示:HTTP 协议自身不具备保存之前发送过的请求或响应的功能。
http方法
get:获取资源
post:传输请求主体(参数很多)
put:传输文件
PUT 方法用来传输文件。就像 FTP 协议的文件上传一样,要求在请 求报文的主体中包含文件内容,然后保存到请求 URI 指定的位置。
head:获取请求头
delete:删除文件
options:询问支持的请求方法
trace:追踪路径
connect:建立代理隧道
补充:
http报文
请求报文示例
响应报文示例
首部字段详解
一般的请求中包含前三种:如下图
首部字段标签的主体含义:
常用的可能需要设置的状态码
http状态码(代表性的14种)
200:OK
204:No Content
206:Partial Content
301:Moved Permanently
302:Found
303:See Other
304:Not Modified
307:Temporary Redirect
临时重定向。该状态码与 302 Found 有着相同的含义。
400:Bad Request
401:Unauthorized(未认证)
403:Forbidden (权限不足)
404:Not Found
500:Internal Server Error(服务器故障)
503:Service Unavailable
https=HTTP+ 加密 + 认证 + 完整性保护
经常会在 Web 的登录页面和购物结算界面等使用 HTTPS 通信。使用 HTTPS 通信时,不再用 http://,而是改用 https://。另外,当浏览器访 问 HTTPS 通信有效的 Web 网站时,浏览器的地址栏内会出现一个带 锁的标记
如: