重定向

HTTP状态码

泪湿孤枕 提交于 2019-11-27 02:34:45
参考文章: https://www.cnblogs.com/phpfeng/p/9247142.html 状态码 响应类别 原因短语 1XX 信息性状态码 服务器正在处理请求 2XX 成功状态码 请求已经处理完毕 3XX 重定向状态码 需要进行额外操作以完成请求 4XX 客户端错误状态码 客户端原因导致服务器无法处理请求 5XX 服务器错误状态码 服务器原因导致处理请求出错 2XX 成功 200 OK 表示请求被服务器正常处理了 204 No Content 表示请求已经成功处理,但是没有内容返回 206 Partial Content 表示服务器已经完成部分get请求 3XX 重定向 301 Moved Permanently 永久重定向,表示请求的资源已经永久的搬到了其他位置 302 Found 临时重定向,表示请求的资源临时搬到了其他位置 303 See Other 表示请求资源存在另一个url ,应使用get定向获取请求资源 304 Not Modified 表示客户端发送附带条件的请求时,条件不满足返回304时,不包含任何响应主体 307 Temporary Redirect 临时重定向,和302有着相同含义 4XX 客户端错误 400 Bad Request 表示请求报文存在语法错误或参数错误,服务器不理解 401 Unauthorized

HTTP状态码

风格不统一 提交于 2019-11-27 01:53:04
HTTP状态码 (HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。 所有状态码的第一个数字代表了响应的五种状态之一。 1xx 消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类 客户端 发送 1xx 响应。 100 Continue 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 Switching Protocols 服务器已经理解了客户端的请求,并将通过 Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在 Upgrade 消息头中定义的那些协议。 只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的 HTTP 版本比旧版本更有优势

【深入HTTP协议】 -- 2019-08-11 18:26:59

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 00:01:24
目录 HTTP 请求 HTTP 响应 原文: http://106.13.73.98/__/80/ HTTP是(Hyper Text Transfer Protocol)超文本传输协议的缩写. HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC. RFC 1945定义了HTTP/1.0版本,其中最著名的就是RFC 2616,RFC 2616定义了今天普遍使用一个版本——HTTP 1.1 -------> HTTP协议(Hyper Text Transfer Protocol)超文本传输协议是用于从WWW服务器传输超文本到本地浏览器的传送协议. 它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等. @ HTTP响应模型 · HTTP协议永远都是客户端发起请求,服务器回送响应,如下图: 这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端. HTTP工作流程 · 一次HTTP操作称为一个事务 ,其工作过程可分为四步: 首先客户机与服务器需要建立连接。只要单击某个超级链接

在浏览器地址栏输入URL,按下回车后究竟发生了什么?

可紊 提交于 2019-11-26 23:14:59
这是一道面试会经常问的问题,平时虽然很常见的操作,但是探究其底层原理,可能并不是一件简单的事情,于是我从各处搜罗整理下全过程,在这里做分享。 第一步:浏览器输入域名 例如输入: www.csdn.net/ 第二步:浏览器查找域名的IP地址 浏览器会把输入的域名解析成对应的 IP,其过程如下: 1.查找浏览器缓存:因为浏览器一般会缓存DNS记录一段时间,不同浏览器的时间可能不一样,一般2-30分钟不等,浏览器去查找这些缓存,如果有缓存,直接返回IP,否则下一步。 2.查找系统缓存:浏览器缓存中找不到IP之后,浏览器会进行系统调用(windows中是 gethostbyname ),查找本机的hosts文件,如果找到,直接返回IP,否则下一步。 3.查找路由器缓存:如果1,2步都查询无果,则需要借助网络,路由器一般都有自己的DNS缓存,将前面的请求发给路由器,查找ISP 服务商缓存 DNS的服务器,如果查找到IP则直接返回,没有的话继续查找。 4.递归查询:如果以上步骤还找不到,则ISP的DNS服务器就会进行递归查询,所谓递归查询就是如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让该主机自己进行下一步查询。(本地域名服务器地址是通过 DHPC 协议获取地址, DHPC 是负责分配

shell概念与编程规范

落花浮王杯 提交于 2019-11-26 23:14:21
shell编程规范 一、前言 ​ 本文将对shell的编程规范与变量进行讲解并且进行实例验证,适合初学者学习shell基础。在学习过程中我们需要自己动手,实际操作几次,边做边体会其含义,然后学会自我总结归纳,逐步提升自己的能力。相信自己你一定可以! 首先我们介绍一下强语言与弱语言类型的简单解释(目前不太理解没关系): 强语言类型——需要声明变量类型 弱语言类型——无需声明变量类型 HTML 标记语言 标签<head></head> 而shell脚本编程,属于典型的弱语言类型,其中的变量直接定义,无需声明,并且shell语言没有面向对象思想。只需要将要执行的命令按顺序保存到一个文本文件,给该文件可执行权限,即可运行,当慢慢深入学习shell编程,可以结合各种Shell控制语句以完成更复杂的操作,结合shell脚本编程,可以将各种服务等大量操作通过一个脚本直接执行,提高工作效率。 当然,如果想要学好shell,一定需要对shell命令比较熟悉,尤其是常用的一些命令以及一些重要的命令如:grep、egrep、sed、awk等。 二、shell的概念 2.1什么是shell? ​ shell——在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令

《STM32杂记》KEIL中printf的使用

别等时光非礼了梦想. 提交于 2019-11-26 22:32:51
STM32使用printf函数给串口打印信息的执行步骤为: 1.重定向printf函数 给uart.c文件中增加如下函数: //重定向c库函数printf到USART1 int fputc ( int ch , FILE * f ) { /* 发送一个字节数据到USART1 */ USART_SendData ( USART1 , ( uint8_t ) ch ) ; /* 等待发送完毕 */ while ( USART_GetFlagStatus ( USART1 , USART_FLAG_TC ) == RESET ) ; return ( ch ) ; } 2.增加头文件stdio # include <stdio.h> 3.勾选Use MircoLIB 如果只做了前两步,而没有勾选Use MicorLIB,编译器虽然不会报错,但是串口不会输出数据。很多人做了重定向函数以后,输出一串字符的第一个字符会丢失,根本原因是因为SR寄存器中的TC标志默认是置1的。 解决办法: 方法一: 既然TC位初始为1导致的问题,那么我们在使用printf函数前把TC置0也可以解决问题, 写多一句USART1->SR&=~(1<<6); 方法二: 直接修改while的等待条件,while(USART_GetFlagStatus(USART1, USART_FLAG_TXE)==RESET)

使用C#調用外部程式或是執行DOS命令

╄→尐↘猪︶ㄣ 提交于 2019-11-26 21:46:48
在.NET裡要如何調用外部程式呢?? 在.net裡,提供了Process類,提供我們強大的調用外部工具功能,並透過重新導向輸入與輸出,可以取得執行結果,下面就用一個例子來示範在一個WinForm裡輸入一個Dos命令,然後呼叫CMD.EXE來執行,並取回執行的結果。 [程式畫面] [程式碼] 1 private string RunCmd( string command) 2 { 3 // 實例一個Process類,啟動一個獨立進程 4 Process p = new Process(); 5 6 // Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性: 7 8 p.StartInfo.FileName = " cmd.exe " ; // 設定程序名 9 p.StartInfo.Arguments = " /c " + command; // 設定程式執行參數 10 p.StartInfo.UseShellExecute = false ; // 關閉Shell的使用 11 p.StartInfo.RedirectStandardInput = true ; // 重定向標準輸入 12 p.StartInfo.RedirectStandardOutput = true ; // 重定向標準輸出

linux常用命令

自作多情 提交于 2019-11-26 21:02:46
where which指令会在环境变量$PATH设置的目录里查找符合条件的文件,只能查可执行文件和别名(alias) ,并在PATH变量里面寻找 which [文件...] whereis 只能查二进制文件(含可执行文件)、说明文档,源文件等,从linux文件数据库(/var/lib/slocate/slocate.db 或 /var/lib/mlocate/mlocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件 whereis [-bmsu] 文件或者目录名称 cat命令 cat命令用于查看纯文本文件(常用于内容较少的) #查看文件,显示行号 cat -n xxx.py more 1.more命令用于查看内容较多的文本,例如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾。 2.more命令查看文本会以百分比形式告知已经看到了多少,使用回车键向下读取内容 more /etc/passwd 按下空格space是翻页 按下b键是上一页 回车键向下读取内容 less more: 顾名思义显示更多 less: 由于more不能后退,就取more的反义词less加上后退功能 所以Linux里流传着这样一句话:"less is more". 总结下more 和 less的区别: 1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示

tr cat more less head tail 等常用命令

大憨熊 提交于 2019-11-26 20:16:56
# cat 命令: 创建文件 , 显示内容 , 一个不存在的文件或者字符不能输入使用<的输出重定向 。 cat filename 一次显示整个文件 cat > filename 从键盘创建一个文件 cat file1 file2 > file 将几个文件合并为一个文件 cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容 加上行号 后输入 linuxfile2 这个档案里 cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号 ( 空白行不加 ) 之后将内容附加到 linuxfile3 里。 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里 cat -n linuxfile1 > linuxfile2 把 linuxfile1 和 linuxfile2 的档案内容加上行号 ( 空白行不加 ) 之后将内容附加到 linuxfile3 里。 cat -b linuxfile1 linuxfile2 >> linuxfile3 cat /dev/null > /etc/test.txt 此为清空 /etc/test.txt 档案内容 cat <<boy >test.sh 内容 boy (直到输入到 boy

shall脚本day02

有些话、适合烂在心里 提交于 2019-11-26 19:56:58
一、重定向和管道符   1.重定向(-tr):在程序中,数据的输入输出方式:   数据输入:键盘--标准输入人,但又不是唯一的输入方式   --stain   echo "123456"|passwd --stdin"username"   例如:功能添加用户useradd.sh.user.txt文本文档1000个用户 ./useradd.sh.a ./useradd.sh.b ... ./useradd.sh<user.txt> while line;do 循环体 $line done</etc/passwd>    数据输出:显示器--标准输出,但不是唯一的输出方式  fa 文件标识符 0-9 //相当于给文件分类   0--标准输出   1--标准输入   2--错误输入输出(标准错误)      常见重定向符号:       1.标准输出       > 覆盖重定向,使用时应注意,极其危险         ser -c //去掉重定向的功能         >| //强制重定向       >> 追加重定向 不覆盖       2.标准输入              3.错误输出         2> 2>>         扩展:不需要输出内容,只要输出状态: ls/etc/ > /dev/null if [$? -eq 0];then ,,,,,     fi