HTTP请求与响应

[title]1.HTTP[/title]

PHP创建连接:
$fp= fsockopen('localhost',80,$errno,$errstr,10);
其中$errno$errstr用于处理错误,可以省略。

请求部分:

1.请求行。声明请求方式「http method」(GET、POST等)、「request url」要请求资源的路径、「http version」HTTP版本号。例如:
GET /abc.jpg HTTP/1.1
2.请求头。

3.请求体。

相关函数:
fwrite($fp,$http)函数,将http请求部分的信息传入$fp连接。

feof()函数检测是否已到达文件末尾 (eof)。如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。

fgets() 函数从文件指针中读取一行。

Continue reading

名词记录本

「A」= API、AST<=>抽象语法树、Arduino。

「B」=闭包、Bootstrap、Bluetooth。

「C」= CDN、centOS、CPU。

「D」= dropbox、DPI、单片机。

「Y」= 云服务器、移动硬盘。

「R」= RAM、root、ROM、RPG。

「M」= Material Design、MarkDown。

「S」= ShadowSocks、树莓派、Shell、SD卡。

Continue reading

note《你不知道的JavaScript》

高考结束有三个月的假期。

假期第一天,中午12点,打卡,阅读《你不知道的JavaScript》(中文译本,人民邮电出版社)。

排版约定:

  • 「TEXT」直角括号包裹特殊名词、术语,在它们第一次出现的时候。
  • 「」闭合的直角括号中无内容时,起标示作用,它之后可能是一个书外摘录的出现。

PartOne.作用域和闭包

其下的笔记:

知识点1.编译流程:

  1. 「分词/词法分析(Tokenizing/Lexing):这个过程将字符串(形如var a = 2)分解成称为「词法单元」的代码块(vara=2;)。空格也可以是词法单元,如果编程语言中它具有意义。这其中有一个问题是如何判断一个代码块的独立性,比如class=”c1 c2″,可能需要判断c1、c2是分立的两个词法单元,还是一个词法单元”c1 c2″的一部分,这个问题即分词词法分析的差别所在(根据原文推测的,待考究)。
  2. 解析/语法分析(Parsing)」:词法单元流=>抽象语法树(Abstract Syntax Tree,AST)。其实这里我学到的是:var是variable的缩写,以var a = 2为例,抽象语法树的结构可能是Variable-Declaration=>Identifier=>Assignment-Expression=>Numeric-Literal(变量声明=>识别码=>赋值表达式=>值)。
  3. 代码生成:将AST转化为可执行代码、一组机器指令。

知识点2.是LHS和RHS引用。我感觉蛮难理解,先mark。

Continue reading

TP5N-1

ThinkPHP5-Note 1。

thinkphp是一个单入口框架,它所有的请求都通过入口文件「public/index.php」进入,之后通过携带不同的参数,转发到相应的控制器中来实现不同的功能。

单入口:应用程序的所有http请求都由某一个文件接受并由这个文件转发到功能代码中

它的优势:

1.安全监测,如果是多入口我们就需要在每个入口文件中做相应的安全监测。

2.请求过滤,在我们的入口文件中,我们可以过滤掉某些无效的请求,如果是多入口就需要重复这个功能。

Continue reading

TPN-路由

ThinkPHP Note. 路由。

🙂 1.路由定义规则

在使用路由之前,确保URL支持「PATH_INFO」(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能)并且确认已开启一下的路由设置:

‘URL_ROUTER_ON’ => true

这里涉及到两个设置项,PATH_INFO和「URL_ROUTER_ON」,这些在「 ThinkPHP/Conf/convention.php」 文件都可以找到。

Continue reading