1 什么是HTTP?
HTTP是超文本传输协议,是客户端与服务器端之间的数据传输的格式规范。
2 HTTP与HTTPS的区别
HTTP是身披ssl/tls的http。
区别:
- url 的不同 http 是以http://开头 ,https是以https://开头
- 端口号不同:http的端口号是80,https的标准端口号是443
- 传输数据放的位置不同:http提交的数据放在url后,而https的数据放在header里
- 安全性不同:https使用了ssl/tls进行加密,使用了认证书,相对于http要安全
与HTTPS相比,HTTP有什么缺点
①通信使用明文传输内容可能被窃听
②不验证通信方身份,可能遭到伪装
③无法验证报文的完整性,可能被篡改
3 HTTPS的工作原理
工作原理如图:
①客户端向Web服务器发送https请求,web服务器就会将自己的公钥及电子证书传送给客户端。
②客户端确认电子证书,并确认公钥是否为刚才访问的web服务器所属,然后就生成对称加密方式的密钥,并使用web服务器的公钥进行加密发送。
③Web服务器使用自己的私钥解密信息,获得对称密钥。
④根据对称加密可以进行加密通信。
4 HTTP有哪些请求方式
- GET :请求访问已经被URI识别的资源,可以通过URL给服务器传递参数数据
- POST:传输数据给服务器,
- PUT:修改服务器相关资源
- HEAD:获取报文首部 一般用于验证URI是否有效
- DELETE:删除文件
5 GET和POST的区别。什么时候该使用GET,什么时候该使用POST
区别:
- GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符
- POST:一般用于修改服务器上的资源,对所发送的信息数量没有限制
- Get是通过地址栏来传值,而Post是通过提交表单来传值。
6 HTTP的首部字段包括哪些类型
(1)通用首部字段(请求报文和通用报文都会使用的首部字段)
- Date 创建报文的时间
- Connection 连接的管理
- Cache-Control 缓存的控制
- Transfer-Encoding 报文主体的传输编码方式
(2)请求首部字段
- Host 请求资源所在的服务器
- Accept 可处理的媒体类型
- Accept-Charset 可接受的字符集
- Accept-Encoding 可接受的内容编码
- Accept-Language 可接受的自然语言
(3)响应首部字段
- Accept-Ranges 可接受的字节范围
- Location 令客户端重新定向到URI
- Server HTTP服务器的安装信息
(4)实体首部字段
- Allow 资源可支持的http方法
- Content-Type:实体主体的类型
- Content-Encoding 实体主体使用的编码方式
- Content-Length 实体主体的字节数
Content-Range 实体主体的位置范围,一般用于发出部分请求时使用
7 HTTP常见的状态码
- 200 OK 表示正常返回信息
- 301 Moved Permanently 表示请求的网页已经移动到新的位置
- 302 Found 表示临时性重定向
- 304 Not motified 表示自从上次请求后,请求的网页就没有修改过。
- 400 Bad Request 表示服务器无法理解请求的格式,客户端不应该尝试再次使用相同的内容发送请求
- 401 Unauthorized 表示未请求授权
- 403 Forbidden 表示禁止访问
- 404 Not Found 表示找不到如何与URI相匹配的资源
- 405 Method Not Allowed 客户端请求中的方法被禁止
- 500 Internal Server Error 服务器端错误
- 503 Service Unavaliable 表示服务器端暂时无法处理请求(可能是过载或者维护)
8 一个页面从输入URL到页面加载显示完成,这个过程都发生了什么?
请看:https://blog.csdn.net/qq_36381242/article/details/100228433