三种编码的了解:
编码:在显示器上看见的文字、图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1,凹的地方代表数字0。硬盘只能用0和1来表示所有文字、图片等信息。那么字母”A”在硬盘上是如何存储的呢?可能小张计算机存储字母”A”是1100001,而小王存储字母”A”是11000010,这样双方交换信息时就会误解。比如小张把1100001发送给小王,小王并不认为1100001是字母”A”,可能认为这是字母”X”,于是小王在用记事本访问存储在硬盘上的1100001时,在屏幕上显示的就是字母”X”。也就是说,小张和小王使用了不同的编码表。在发送数据给对方前,需要事先告知对方自己所使用的编码,或者通过转码,使不同编码方案的两个系统可沟通自如。
UTF-8是针对Unicode的一种可变长度字符编码。
GBK全称《汉字内码扩展规范》,GBK是采用单双字节变长编码,英文使用单字节编码,完全兼容ASCII字符编码,中文部分采用双字节编码。
URL编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值,将它们以name/value参数编码作为URL的一部分或者分离地发给服务器。由于 URL 常常会包含 ASCII 集合之外的字符,URL 必须转换为有效的 ASCII 格式。URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。URL不能包含空格。URL编码通常使用 + 来替换空格。
ASCII(美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准。ASCII码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。
HTTP协议:
HTTP是Hyper Text Transfer Protocol(超文本传输协议)缩写。
HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持久化处理。
HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。
默认HTTP的端口号为80,HTTPS的端口号为443。
一些常见的HTTP状态消息:
200 OK:请求成功(这是对HTTP请求成功的标准应答)。
301 Moved Permanently:所请求的页面已经转移至新的URL。
302 Found:所请求的页面已经临时转移至新的URL。
400 Bad Request:因为语法错误,服务器未能理解请求。
401 Unauthorized:合法请求,但对被请求页面的访问被禁止。因为被请求的页面需要身份验证,客户端没有提供或者身份验证失败。
403 Forbidden:合法请求,但对被请求页面的访问被禁止。
404 Not Found:服务器无法找到被请求的页面。
500 Internal Server Error:请求未完成。服务器遇到不可预知的情况。
501 Not Implemented:请求未完成。服务器不支持所请求的功能,或者服务器无法完成请求。
502 Bad Gateway:请求未完成。服务器充当网关或者代理的角色时,从上游服务器收到一个无效的响应。
503 Service Unavailable:服务器当前不可用(过载或者当机)。
两种HTTP请求方法:GET和POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据。
GET
向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。
POST
向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。
User-Agent头域的内容包含发出请求的用户信息。
子域名是在域名系统等级中,属于更高一层域的域。比如,mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级域.com的子域。子域名,是顶级域名(一级域名或父域名)的下一级,域名整体包括两个“.”或包括一个“.”和一个“/”。