【Linux】http和https协议

http协议和https协议都是应用层协议

http:超文本传输协议

https:安全的超文本传输协议。在http协议基础上加入了SSL协议保证安全传输

HTTP协议和HTTPS协议主要应用于Web浏览器和网站服务器之间传递数据,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。而HTTPS协议为了数据传输的安全,在HTTP协议的基础上加入了SSL协议,SSL协议依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

http和https的区别,使用的端口是多少?

HTTPS协议需要申请CA证书,一般免费的证书很少,需要缴费。

HTTP是超文本传输协议,信息是明文传输;HTTPS是具有安全性的SSL加密的传输协议。

HTTP和HTTPS使用的是完全不同的连接方式,用的端口号也不一样(HTTP:80,HTTPS:443)。

HTTP协议的连接简单,是无状态的;HTTPS协议是由HTTP+SSL协议构成的可进行加密传输身份认证的网络协议,比HTTP协议安全。

在浏览器中输入www.baidu.com接下来发生了什么事?

浏览器向DNS服务器请求解析该URL中的域名和所对应的IP地址

解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接

浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器。

服务器做出响应,把对应的html文本发送给浏览器

释放TCP连接

浏览器将该文本显示出来。

http请求方法有哪些?意义分别是什么

GET:申请获取资源,而不对服务器产生任何影响。

HEAD:和GET方法类似,不过要求服务器返回头部信息,而不需要传输任何实际内容。

POST:客户端向服务器提交数据的方法,这种方法会影响服务器,服务器可能会根据收到的数据动态创建新的资源,也可能更新原有的资源。

PUT:上传某个资源

DELETE:删除某个资源

TRACE:要求目标服务器返回原始HTTP请求的内容,它可能用来查看中间服务器(比如代理服务器)对HTTP请求的影响.

OPTIONS:查看服务器对某个特定URL都支持哪些请求方法。也可以把URL设置为*,从而获取服务器支持的所有请求方法。

CONNECT:用于某些代理服务器,它们能把请求的连接转化为一个安全隧道。

PATCH:对某些资源做部分修改。

http状态码有哪些,意义是什么?

100 Continue,服务器收到了客户端的请求行和头部信息,告诉客户端继续发送数据部分。客户端通常需要先发送Expect:100-continue头部字段告诉服务器自己还有数据要发送。

200 OK:请求成功

301 Moved Permanently:资源被转移了,请求将被重定位。

302 Found:通知客户端资源能在其他地方找到,但需要使用GET方法来获取它。

307 Temporary Redirect:通知客户端资源能在其他地方找到,与302不同的是,客户端可以使用和原始请求方法相同的请求方法来访问目标资源。

400 Bad Request:通知客户请求错误

401 Unauthorized:请求需要认证信息。

403 Forbidden:访问被服务器禁止,通常是由于客户端没有权限访问该资源。

404 Not Found:资源没找到

407 Proxy Authentication Required:客户端需要先获得代理服务器得认证

500 Internal Serveer Error:通用服务器错误

503 Service Unavailable:暂时无法访问服务器。

长连接和短连接的区别

长连接:多个请求可以使用同一个TCP连接。在编程上稍微复杂一点,但性能却有很大的提高,极大地减少了网络上为建立TCP连接导致的负荷,同时对每次请求而言缩短了处理时间。

短连接:同一个客户的多个连续的HTTP请求不能共用同一个TCP连接

HTTP请求和应答中的“Connection”头部字段就是专门用来告诉对方一个请求完成后该如何处理连接的。比如立即关闭连接或者保持一段时间以等待后续请求。

可以使用netstat命令来查看浏览器和Web服务器之间的连接是否为长连接,以及该连接维持了多长时间。

发布了21 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ifiwere/article/details/104605338