http和https

HTTP主要特点:

    (1)支持客户/服务器模式

    (2)简单快捷

    (3)灵活

    (4)无连接

    (5)无状态

请求响应步骤:

    (1)客户端连接到web服务器

    (2)发送HTTP请求

    (3)服务器接收请求并返回HTTP响应

    (4)释放TCP连接

    (5)客户端浏览器解析HTML内容

浏览器键入URL,按下回车之后经历的流程:

    (1)DNS解析

    (2)TCP连接

    (3)发送HTTP请求

    (4)服务器处理请求并返回HTTP报文

    (5)浏览器解析渲染页面

    (6)连接结束

HTTP状态码:

(1)200 OK:请求已正常处理。

(2)400 Bad Request:服务器端无法理解客户端发送的请求,请求报文中可能存在语法错误。

(3)401 Unauthorized:该状态码表示发送的请求需要有通过HTTP认证(BASIC认证,DIGEST认证)的认证信息。

(4)403 Forbidden:不允许访问那个资源。该状态码表明对请求资源的访问被服务器拒绝了。(权限,未授权IP等)

(5)404 Not Found:服务器上没有请求的资源。路径错误等。

(6)500 Internal Server Error:貌似内部资源出故障了。该状态码表明服务器端在执行请求时发生了错误。也有可能是web应用存在bug或某些临时故障。

(7)503 Service Unavailable:抱歉,我现在正在忙着。该状态码表明服务器暂时处于超负载或正在停机维护,现在无法处理请求。

 GET请求和POST请求的区别:

 get请求产生的url可以作为标签

get请求比post更不安全,因为参数暴露在url上面,因此不能用来传递敏感信息,post的参数放在request body中

get请求会被浏览器主动cache,post请求不会,除非手动设置

get请求只支持url编码,post支持多种编码

get请求在url中传递的参数是有限制的,而post没有

对参数的数据类型,get只接受ASCll字符,post没有限制

get请求产生一个tcp数据包,post请求产生两个数据包(Firefox例外),post请求先发送header再发送data

小结:

get和post本质上并没有区别,他们是HTTP协议中的两种发送请求的方法。HTTP是基于tcp/ip的关于数据如何在万维网中如何通信的协议。get和post由于HTTP的规定和浏览器的限制,导致他们在应用过程中体现出一些不同。

HTTPS

组成HTTPS的协议:HTTP协议和SSL/TLS协议。HTTP协议就不用讲了,而SSL/TLS就是负责加密解密等安全处理的模块,所以HTTPS的核心在SSL/TLS上面。

 HTTP和HTTPS的区别:

https加密传输,http明文传输

https默认443端口,http默认80端口

https需要用到CA证书,http不需要

https=http+加密+认证+完整性保护,较http更安全

原文地址:https://www.cnblogs.com/girl1314/p/11264809.html