1. HTTP通信流程:
1)输入www.baidu.com
2)解析成IP地址:192.168.0.1
3)浏览器通过该IP访问web服务器获取web资源
4)再返回给客户端
5)最后呈现在用户面前
2. HTTP常用的6种请求类型:
1)OPTIONS:返回服务器所支持的HTTP请求方法。
2)HEAD:与GET请求相一致的响应,但只返回头部信息,响应体将不会被返回。
3)GET:向特定的资源发出请求。
4)POST:向指定资源提交数据进行处理请求。数据被包含在请求体中。
5)PUT:向指定资源位置上传其最新内容。
6)DELETE:请求服务器删除指定资源。
3. 常见的请求头:(重点记忆以下请求头)
● Accept
○ 指定客户端能够接收的内容类型
○ Accept: text/plain, text/html
● Accept-Charset
○ 浏览器可以接受的字符编码集
○ Accept-Charset: iso-8859-5
● Accept-Encoding
○ 指定浏览器可以支持的web服务器返回内容压缩编码类型
○ Accept-Encoding: compress, gzip
● Accept-Language
○ 浏览器可接受的语言
○ Accept-Language: en,zh
● Cookie
○ HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
○ Cookie: role=admin;ssid=1
● Range
○ 只请求实体的一部分,指定范围
○ Range: bytes=500-999
● Referer
○ 先前网页的地址,当前请求网页紧随其后,即来路
○ Referer: http://www.zcmhi.com/archives/71.html
● User-Agent
○ User-Agent的内容包含发出请求的用户信息
○ User-Agent: Mozilla/5.0 (Linux; X11)
4. GET和POST区别
1:URL可见性
i:Get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,get把请求的数据在URL后通过?连接,通过&进行参数分割。
ii:Post传参方式参数URL不可见,post将从参数存放在HTTP的包体内。
2:传输数据大小
i:Get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。
ii:Post没有长度限制。
3:后退页面
Get后退不会有影响,Post后退会重新进行提交
4:缓存
i:Get 请求可以被缓存,请求的记录会留在历史记录中。
ii:Post 不可以被缓存,请求不会留在历史记录。
5:编码方式
i:Get 请求只URL编码。
ii:Post 支持多种编码方式。
6:字符类型
i:Get 只支持ASCII字符。
ii:Post 没有字符类型限制。
5. 一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据。
6. HTTP响应报文:响应行、响应头、响应体
7.HTTP响应码:
1xx(临时响应)、2xx(成功)、3xx(重定向)、4xx(请求错误)、5xx(服务器错误)
(重点记忆100、101 、200、201、301、302 、 400、401、403、404 、405 、500、501、)
8. HTTPS 默认工作在 TCP 协议443端口
9.HTTP常用的6种协议:
OPTIONS:返回服务器所支持的HTTP请求方法。
HEAD:与GET请求相一致的响应,但只返回头部信息,响应体将不会被返回。
GET:向特定的资源发出请求。
POST:向指定资源提交数据进行处理请求。数据被包含在请求体中。
PUT:向指定资源位置上传其最新内容。
DELETE:请求服务器删除指定资源。
10.HTTP 与 HTTPS 区别:
- HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
- 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
- HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
- http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
- HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
11.HTTP请求响应过程:
1)域名解析、 2)发起TCP3次握手、 3)建立TCP连接后发起HTTP请求、 4)服务器端响应http请求,浏览器得到html代码、 5)浏览器解析html代码,并请求html代码中的资源、 6)浏览器对页面进行渲染呈现给用户