HTTP简单知识点总结

作者: 熊猫读书营 | 来源:发表于2018-04-27 19:32 被阅读33次

什么是HTTP协议?

HTTP协议是互联网上最普遍采用的一种协议,用于客户端和服务端通信,处于TCP/IP四层网络分层模型中的应用层。

HTTP是一个无状态的协议。
HTTPS是一个加密传输的协议。

HTTP传输的基本过程

在http传输的过程中,客户端向服务器发送一个请求文件。
最基本的过程是:
1 客户端连接一个主机;
2 服务器接收连接,
3 客户端请求一个文件,
4 服务器发送一个应答.

从输入URL到加载页面的过程都发生了什么?

1.读取缓存,如果缓存没过期则直接显示,否则需要再请求一遍。
2.解析DNS,将域名解析成对应的ip地址。
DNS域名解析过程
①(若开发过程中有手动添加)先查找本机的host文件。
②去运营商的DNS缓存中查找。
③如果还是找不到的话就会去根域名服务器中查找(比如域名是.com结尾的话,就会去.com的域名服务器中查找)。
3.建立TCP连接,三次握手。
4.发送HTTP请求。
5.WEB服务器(如Nginx)处理请求并返回。
6.加载页面。
7.关闭TCP连接(HTTP1.0默认开启长连接,若一次请求后,一段时间不用,会自动关闭掉连接,这样就可以减少TCP打开与关闭的次数)。

HTTP是无状态的协议

1.HTTP是一个不保存状态,即无状态的协议。
2.HTTP不对请求和响应的通信状态做持久化处理,如用户的登录状态,HTTP不会保存。
3.每次HTTP请求都是独立的。
4.跟TCP协议不同,TCP是保持状态的,发送了多少帧都有序列号和确认号等来保存传输状态。

为了解决HTTP无状态的问题,可以使用Cookie技术

1.Cookie是保存在客户端的数据,HTTP请求都会带上Cookie。
2.Cookie和Session的区别
①Cookie保存在客户端,Session保存在服务器端
②Session安全性更高(因为保存在服务器端的)
③保存的数据类型不同,Cookie只能保存字符串
④Cookie保存的数据大小有限制,而Session无限制
⑤Session对服务器性能的压力更大
⑥Session依赖于Cookie,Cookie中包含一个SessionId的标识,服务器通过SessionID来判断来自哪一个客户端。(如果禁用了Cookie,也可以采用url传参的方式)

HTTP存在的问题

1.HTTP通信使用的是未加密的明文,内容可能被窃听。
2.HTTP不会验证通信方的身份,因此可能遭遇伪装。
3.HTTP无法证明报文的完整性,因此可能遭到篡改。

可以使用HTTPS协议来解决。HTTPS就是在客户端与服务器端之间加了一条SSL安全通道,通过进行通信加密+安全证书进行安全性完整性保护。

HTTP1.1性能优化方法

1.合并css、js文件等,减少图片请求。
2.将css、js嵌入到页面。
3.使用持久连接。
4.图片单独放到cdn服务器。
5.使用多个子域名等等。

服务器主动推送消息

HTTP都是客户端主动发起请求,服务器进行响应的过程。那么想要做到服务器主动推送消息可以使用下列方式:
1.Ajax轮询,即客户端不断地去请求服务器。(例如打开微博放着不动时有新消息时就会自动刷新出来)
2.长连接。(连接后一直阻塞在那里,等待服务器响应)



微信公众号【IT资源社】
本公众号致力于免费分享全网最优秀的视频资源,学习资料,面试经验等,前端,PHP,JAVA,算法,Python,大数据等等,你想要的这都有,还会分享优质博文,提高你的认知与思维

IT资源社-QQ交流群:625494093
要进微信交流群的话加微信:super1319164238
微信搜索公众号:IT资源社 或者扫描下方二维码直接关注,


原创文章,转载请注明出处

相关文章

  • HTTP简单知识点总结

    什么是HTTP协议? HTTP协议是互联网上最普遍采用的一种协议,用于客户端和服务端通信,处于TCP/IP四层网络...

  • 2019-04-24

    JavaScript简单知识点总结

  • Http知识点总结

    以下是我学习web开发以来对于http相关知识的理解,如理解有误之处,望大佬们多多指点。 一、cookie和ses...

  • HTTP知识点总结

    最近互联网这个圈子不是很太平,继阿里缩招降薪,导致很多同学“被拥抱变化”之后,百度也宣布暂时停止社招了。于是有人疾...

  • http知识点总结

    tcp/ip ip协议和ip地址需要区分 ip地址指具体地址 ip一般指ip协议,是一种把数据包传送给对方的协议 ...

  • 【IOS开发基础系列】UIImage/UIImageView专题

    1 UIImage知识点 iOS开发中关于UIImage的知识点总结 http://mobile.51cto.co...

  • gradle

    android知识点总结http://blog.csdn.net/codeemperor/article/deta...

  • HTTP请求简单总结

    HTTP协议 HTTP协议:超文本传输协议(Hypertext Transfer Protocol) http协议...

  • 找工作(目录)

    知识点 JAVA基本知识 Java基本知识点总结:http://www.jianshu.com/p/6146a2d...

  • HTTP相关知识点总结

    报文结构 HTTP协议栈 https是在http与tcp之间加了一层安全层,TSL or SSL IP分组发送 H...

网友评论

    本文标题:HTTP简单知识点总结

    本文链接:https://www.haomeiwen.com/subject/ckyxlftx.html