阅读笔记《图解HTTP》之网络基础概念
Posted 我是QA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阅读笔记《图解HTTP》之网络基础概念相关的知识,希望对你有一定的参考价值。
一、分层的网络协议。TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层:
应用层 |
http(超文本传输协议)、Ftp(文件传输协议)、DNS(域名解析服务) |
传输层 |
TCP(传输控制协议)和UDP(用户数据报协议);TCP采用了三次握手策略,是可靠的传输协议,UDP的优点是快速的传递较大文件 |
网络层 |
IP协议;IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址和MAC地址可通过DNS进行配对解析。IP地址可变换,但MAC地址基本上不会更改 |
数据链路层 |
网关协议 |
二、HTTP协议的请求包含请求头部、报文主体。报文中的主题可以包含多种类型:
application/json | 数据格式是html(json) |
multipart/form-data | Web表单文件上传时使用 |
multipart/byteranges | 相应报文包含多个范围的内容 |
HTTP返回结果状态码
几个常见的状态码
3** |
301:永久重定向;302;临时重定向;304:服务器端资源未改变,可直接使用客户端未过期的缓存 |
4** |
403:大部分是用户没有访问权限 404:服务器没有该资源 |
5** |
503:该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求 |
三、HTTPS的优点和缺点
优点:通信安全
https不是协议,它是HTTP和SSL或TSL的组合使用,使用SSL时,加密HTTP的通信内容,HTTP先和SSL通信,加密后再与TCP通信,SSL协议采用共享秘钥和公开秘钥等混合加密方式,保证通信的的安全,采用SSL后,HTTP就拥有了HTTPS的加密、证书和完整性保护这些功能。
缺点:消耗硬件资源资源、证书需要购买
综述,为了安全和节约开销,传输用户重要信息时采用HTTPS,非敏感信息则使用http
四、AJAX和WebSocket:
AJAX是无需重新加载整个网页的情况下,能够更新部分网页的技术
WebSocket是Html5定义的双工通信协议,当浏览器通过 javascript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。通信过程中可互相发送JSON、XML、HTML或图片等任意格式的数据。
五、HTML、XML和JSON
HTML是超文本标记语言,XML是可扩展标记语言,JSON是一种以JavaScript(ECMAScript)的对象表示法为基础的轻量级数据标记语言,都可以认为是构建 web网页的技术。
DOM是用以操作HTML文档和XML文档的API,使用DOM可以将HTML内的元素当作对象操作,如取出元素内的字符串、改变那个CSS的属性等,使页面的设计发生改变。如:document.getElementsByTagName('P')语句调用getElementsByTagName函数,从整个HTML文档(documentobject)内取出P元素。
测试过程中UI自动化测试离不开对DOM的依赖,无论是app和web应用的UI自动化测试,都是根据标签查找出页面元素,然后执行一定的动作
六、CGI和Servlet(Web 服务相关)
严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。而Perl,Ruby,php等动态内容需要通过CGI、FastCGI等接口交给其他程序去处理。
Servlet[插图]是一种能在服务器上创建动态内容的程序。Servlet是用Java语言实现的一个接口,CGI由于每次接到请求,程序都要跟着启动一次。因此一旦访问量过大,Web服务器要承担相当大的负载。而Servlet运行在与Web服务器相同的进程中,因此受到的负载较小[插图]。Servlet的运行环境叫做Web容器( 如node.js)或Servlet容器。
以上是关于阅读笔记《图解HTTP》之网络基础概念的主要内容,如果未能解决你的问题,请参考以下文章