1.HTTP和HTTPS的区别
http是超文本传输协议,使用明文通信,且无法证明报文完整。https则是具有安全性的ssl(安全套接层)加密传输协议,https 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改),成本较高且速度较慢。
http用的端口是80,https用的端口是443。
2.HTTP请求报文
请求行(包括请求方法、URL,HTTP协议版本) + 请求头 + 请求正文
请求头部字段:
Host:接受请求的服务器地址,可以是IP或者是域名
User-Agent:发送请求的应用名称
Connection:指定与连接相关的属性,例如(Keep_Alive,长连接)
Accept-Charset:通知服务器端可以发送的编码格式
Accept-Encoding:通知服务器端可以发送的数据压缩格式
Accept-Language:通知服务器端可以发送的语言
3.HTTP响应报文
状态行(包括协议版本、状态码) + 响应头 + 响应正文
响应头字段:
Server:服务器应用软件的名称和版本
Content-Type:响应正文的类型
Content-Length:响应正文的长度
Content-Charset:响应正文所使用的编码
Content-Encoding:响应正文使用的数据压缩格式
Content-Language:响应正文使用的语言
3.HTTP状态码
![](https://img.haomeiwen.com/i18373332/3cb62551b88fa661.png)
200,请求成功
301,资源(网页等)被永久转移到其它URL
302,资源临时移动
403,forbidden,服务器理解请求客户端的请求,但是拒绝执行此请求。
404,not found,用户输入错误的链接,该链接指向的网页不存在。
500,internal server error 服务器内部错误(比如浏览器代理出问题,ip,端口不对等)该状态码表明服务器端在执行请求时发生了错误。
502,Bad Gateway,网关从远程服务器接收到无效响应
503,服务器超载或停机维护
504,Gateway Timeout,网关超时
4. 跨域
浏览器不能执行其他网站的脚本。它是由浏览器的同源(域名,协议,端口均相同)策略造成的,是浏览器施加的安全限制。
5.HTTP请求
HTTP1.0 定义了三种请求方法: GET, POST 和HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和CONNECT 方法。
GET和POST的区别
GET 用于获取资源,而 POST 用于传输实体主体。
GET 和 POST 的请求都能使用额外的参数,但是 GET 的参数是以查询字符串出现在 URL 中,而 POST 的参数存储在请求体中。
GET用来查询数据,POST用来修改数据,以及其他更需要安全性的场景如密码。
网友评论