网络基础 - HTTP

博客分类: 江河计划

网络基础 - HTTP

1.算法

冒泡排序

var arr = [3,4,5,1,2,4,9,5,7,3]
Array.prototype.bubbleSort = function(){
	var len = this.length;
	for(var i=0; i<len; i++){
		for(var j=i+1; j<len; j++){
			if(this[i] > this[j]){
				var tmp = this[i];
				this[i] = this[j];
				this[j] = tmp;
			}
		}
	}
	return this;
} ### 快速排序 js sort chrome 在长度小于 23 时采用的是插入排序,FF 和 Safari 采用的是归并排序,大于 23 时采用快排

var arr = [3,4,5,1,2,4,9,5,7,3]
Array.prototype.quickSort = function(){
	if(this.length <= 1) return this;
	var middleIndex = parseInt(this.length / 2, 10),
		middle = this[middleIndex],
		left = [],
		right = [];
	for(var i=0; i<this.length; i++){
		if(i === middleIndex) continue;
		if(this[i] < middle){
			left.push(this[i])
		}else{
			right.push(this[i])
		}
	}
	return left.quickSort().concat([middle], right.quickSort());
}
arr.quickSort()

2.正则

邮箱:/[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/

手机号:/^1[3|4|5|7|8]\d{9}$/

中英文字符:/[a-zA-Z\u4e00-\u9fa5]/

双音节字符:/[^x00-xff]/

3.整理知识:HTTP

https://github.com/cbbfcd/whole-Python/blob/master/Http/README.mdown

image

IP是一种协议

不要和IP地址搞混淆了。 IP协议位于网络层,其主要作用是保证数据包能够准确的送到对方。 而要保证准确送到,主要依靠的是 IP地址 和 MAC地址

地址栏输入域名之后,网络间传输大致如下:

发送端:

  1. 应用层:DNS登场,根据域名解析出IP地址
  2. 应用层:HTTP协议出场,生成一个HTTP请求报文
  3. 传输层:TCP协议登场,将数据分割并通过三次握手向目标传递
  4. 网络层:IP协议配合TCP协议,确定目的地,然后通过路由,一边路由一边传递数据包 接收端:
  5. 网络层:数据送到
  6. 传输层:TCP协议接收传递过来的数据包,并重组数据包。
  7. 应用层:HTTP协议处理请求报文,生成响应报文。
  8. 请求的结果再反向的一样的流程传回给发送端。

URL & URI

URL 是 URI 的子集,URI 资源标识符,URI 标识的资源的范式,URL 是获取资源的方式和具体地址。

request

POST /index.html HTTP/1.1         --对应--> 请求方式、请求URI、协议版本
Host: hack.jp                     --对应--> 主机
Connection: keep-alive            --对应--> 链接状态
Content-Type: application/json    --对应--> 内容类型
Content-Length: 16                --对应--> 内容长度
...
name=tome&age=12                  --对应--> 内容实体

response

HTTP/1.1 200 OK                       --对应-->协议版本、状态码、状态码原因短语
Date: Tue, 10 Jul 2017 10:18:55 GMT   --对应-->消息报头
Content-Length: 362
Content-Type: text/html
空行
响应正文

请求方法

GET     请求指定的页面信息,并返回实体主体。
HEAD     类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST     向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT     从客户端向服务器传送的数据取代指定的文档的内容。
DELETE      请求服务器删除指定的页面。
CONNECT     HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS     允许客户端查看服务器的性能。
TRACE     回显服务器收到的请求,主要用于测试或诊断。

HTTP 响应状态

1XX --> 接收的请求正在处理
2XX --> 请求正常处理完毕
3XX --> 需要进行附加操作以完成请求
4XX --> 服务器无法处理请求
5XX --> 服务器处理请求出错

下周解决 wx 嵌入 web 页面调研

小程序后台配置,业务域名,将 token 放在对应访问域名的根路径上,获取到可以打开域名的权限之后,才能在小程序里打开。

小程序提供路由方法的能力,也可以从小程序中回到当前页面,如果需要获取 openId 的话需要重定向就会有问题,我猜可能是因为重定向页面没有放 token。

其他的基本上嵌入都没有什么问题,目前准备把聊天的 SDK 嵌入到小程序中尝试一下

应用到实际项目中没有任何问题