阿龙的学习笔记---《后台开发:核心技术与应用实践》读书笔记(二)--- 网络通信

二、网络通信

  • OSI 7层: 物理层,数据链路层,网络层,传输层,会话层(会话连接断点续传),表示层(数据格式加密等),应用层。
  • TCP/IP 4层:网络接口层(主机到网络层), 网络层, 传输层, 应用层。
  • 在4层模型中,ARP是放在网络接口层的。
  • TCP/IP协议部分看之前的博客吧。
  • socket网络编程API:
    在这里插入图片描述
  • 网络字节序和主机字节序,也就是大小端,大小是说高低位放在起始位置(一般计算机内存是从低到高,所以大端是高位放在低地址,小端是低位在低地址)。网络都是大端字节序。
  • 四种网络IO模型:阻塞,非阻塞,多路复用,异步。
  • 异步IO模型 对比 非阻塞IO模型:异步IO是完全没有阻塞的,发起IO操作后直接返回,内核完成数据的拷贝,然后告诉进程数据以及拷贝到用户空间。而非阻塞模型在没有可读的时候是直接返回没有阻塞的,而在可读时,读操作将数据拷贝到用户空间的这个过程是阻塞的。
  • select对比poll:poll一般被认为更好一些。1)是select的最大限额较小,一般默认只有1024,而poll则大得多。2)是select在每次进入前都需要重新置位,而poll由于其数据结构区分了输入输出,故不用;3)是poll在处理大数量时效率更高一些。4)select虽然别的不好,但是移植性较好。
  • epoll:1)对比select,可打开的文件描述符多,select是1k、2k,而在1G内存空间,epoll能达到10w。2)epoll通过注册内核事件,耗时不会线性增加,而selete和epoll都是轮询。3)epoll返回的即是结果,而不需要再进行遍历。4)epoll传递结果的时候,不需要进行内核与用户空间的拷贝,是通过mmap来实现的,而select和poll需要先将事件拷贝进内核,再将结果从内核拷贝出来。
  • ping命令来查看ip地址的网络通断
  • tcpdump命令来截取网络包中的信息进行分析,可以按照规则,按照表达式过滤内容等。
  • netstat命令用来查看网络信息,打开的连接、端口、连接状况等。
  • lsof (list open file)显示打开的文件
http协议
  • 在应用层,HTTPS协议也是,不过是在TLS,SSL加密协议之上。
  • (1)报文头:比如“GET http://www.baidu.com/favicon.ico HTTP/1.1” 表示用 GET 方法请求 http://www.baidu.com/favicon.ico这个文件,用的HTTP/1.1协议。
    (2) 0个或多个请求头(header ine ),例如 Accept-Language: en。
    (3)空行(作为 header lines 的结束)。
    (4)可选的消息体。
  • HTTPS可以看做是加密版本的HTTP协议,通过TLS协议来进行加密(SSL协议的升级版)
  • CGI说是很重要,但是没咋看懂…还有fast-CGI。
  • Cookie: 弥补http无状态的缺点,提供会话跟踪等功能。Cookie是一小段文本信息,服务器发送给客户端,每次请求时都带着。服务器检查cookie信息来判断用户状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
后台开发核心技术应用实践 作者:徐晓鑫 著 出版日期:2016年08月06日 封面宣传语:腾讯云平台技术总监黄世飞、Facebook对外支付项目主程张子兴、微软软件工程师彭可竞、阿里巴巴资深算法工程师周乐、百度大数据高级测试工程师畅晋联袂推荐;围绕后台开发需要掌握的核心技术,从多个方面、多个角度进行了阐述,覆盖了该领域的几乎所有内容;充分抓住本质并结合实践,文字通俗易懂,可操作性强 出版书名:后台开发核心技术应用实践 作者:徐晓鑫 著 封底文字 专家评价 后台开发是一个“历史悠久”的领域,同时也是一个沉淀深厚,高技术价值的领域。本书清晰、严谨、务实的风格显示出晓鑫对该领域知识的深刻理解。 ——张子兴 Facebook对外支付项目主程,美国加州MenloPark 每一位从事后台开发的专业人士都需要一本后台开发指南。对每一位想要认真从事该领域工作的人来说,本书是一本绝对必读的书籍。 ——彭可竞 微软软件工程师,美国华盛顿州Redmond 本书是作者多年后台开发、架构和研究的精华。书中用通俗的文字、详尽的示例代码,结合实际工作中的案例,讲述了后台开发方方面面的知识,内容丰富。对于从事后台开发的人员,这是一本很好的由浅入深的学习书籍。 ——周乐 阿里巴巴资深算法工程师,北京望京 使用C++语言进行后台开发有一定的门槛,本书可以很好地帮助你跨过这个“门槛”。 ——畅晋 百度大数据高级测试工程师,北京上地 前勒口 互联网网民日益剧增,各种应用层出不穷,各项技术更新不断。单是游戏行业,近几年就经历了从端游、页游到手游的巨大变迁,客户端更新迭代之快,始料未及。而后台开发中使用到的技术,却变化不是很大。让服务性能更高、处理能力更强、安全性更好,是后台开发工程师永恒的主题。 后台开发中用到的技术,深而广,需要读的“大部头”很多,光是Richard Stevens的APUE,UNP,TCP/IP详解就够读个半年以上。读者通过阅读本书,可以从实践出发,快速由浅入深地进入后台开发领域。在读完本书,有了实践的经验之后,再去阅读大师们的著作,会更有体会,更懂得如何欣赏。 读书的最高境界莫过于“把书读薄,把书读厚”。本书文字通俗易懂,让你更快地“读薄”,同时又涉及较多的核心知识点,顺着这些知识点,读着读着也发觉“读厚”了。 后勒口 徐晓鑫,腾讯资深软件研发工程师,先后在腾讯游戏之洛克王国、QQ会员、QQ秀等项目工作,精通后台开发各种技术,实战经验丰富。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值