http与https、它们之间的区别

  • http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

  • https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。https协议的主要作用是:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。

  • http和https的区别?
    1.Https协议需要ca证书,费用较高。
    2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    3.使用不同的链接方式,端口也不同,一般而言,http协议的端口为80,https的端口为443
    4.http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

tcp三次握手与四次挥手

  • SYN:请求连接标志,表示服务器端同意建立连接。
  • ACK:确认报文,表示告诉客户端,服务器端收到了它的请求报文。
  • SEQ:用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
  • FIN:释放连接报文。

HTTP/HTTPS/浏览器--知识点
HTTP/HTTPS/浏览器--知识点

  • 问题:
    1.为什么要进行第三次握手?
    2.为什么“握手”是三次,“挥手”却要四次?
    3.为什么客户端在TIME-WAIT阶段要等2MSL?

WebSocket的实现和应用

WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接。Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-alive,将多个http请求合并为1个,WebSocket是基于Http协议的,或者说借用了Http协议来完成一部分握手,在握手阶段与Http是相同的。我们来看一个websocket握手协议的实现,基本是2个属性,upgrade,connection。

  • 既然http无法满足用户的所有需求,那么为之诞生的websocket必然有其诸多应用场景。如:
    1.实时显示网站在线人数
    2.账户余额等数据的实时更新
    3.多玩家网络游戏
    4.多媒体聊天,如聊天室

  • nodejs实现

HTTP请求的方式

  • head:类似于get请求,只不过返回的响应中没有具体的内容,用户获取报头
  • options:允许客户端查看服务器的性能,比如说服务器支持的请求方式等等。

实现一个图片url访问后直接下载

地址

web Quality(无障碍)

BOM属性对象

什么是Bom? Bom是浏览器对象。有哪些常用的Bom属性呢?

(1)location对象
location.href-- 返回或设置当前文档的URL
location.search – 返回URL中的查询字符串部分。例如 http://www.dreamdu.com/dreamdu.php?id=5&name=dreamdu 返回包括(?)后面的内容?id=5&name=dreamdu
location.hash – 返回URL#后面的内容,如果没有#,返回空
location.host – 返回URL中的域名部分,例如www.dreamdu.com
location.hostname – 返回URL中的主域名部分,例如dreamdu.com
location.pathname – 返回URL的域名后的部分。例如 http://www.dreamdu.com/xhtml/ 返回/xhtml/
location.port – 返回URL中的端口部分。例如 http://www.dreamdu.com:8080/xhtml/ 返回8080
location.protocol – 返回URL中的协议部分。例如 http://www.dreamdu.com:8080/xhtml/ 返回(//)前面的内容http:
location.assign – 设置当前文档的URL
location.replace() – 设置当前文档的URL,并且在history对象的地址列表中移除这个URL location.replace(url);
location.reload() – 重载当前页面

(2)history对象
history.go() – 前进或后退指定的页面数 history.go(num);
history.back() – 后退一页
history.forward() – 前进一页

(3)Navigator对象
navigator.userAgent – 返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)
navigator.cookieEnabled – 返回浏览器是否支持(启用)cookie

相关文章: