【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方法来获取它。
304 Not Modified 表示被申请的资源没有更新,和之前获取的相同。
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服务器之间的连接是否为长连接,以及该连接维持了多长时间。
还没有评论,来说两句吧...