http请求

HTTP Request header

此生再无相见时 提交于 2020-03-18 11:54:16
某厂面试归来,发现自己落伍了!>>> HTTP Request header 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response, 关于Fiddler工具的用法,请看我另一篇博客[ Fiddler 教程 ] 阅读目录 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示

Hexo本地搜索失效

对着背影说爱祢 提交于 2020-03-17 10:55:51
访问 http://localhost:4000/search.xml 请求结果是200 查看显示的错误 打开请求结果,ctrl + f 搜索 url 定位报错行 打开文件进行修改,找到异常字符删除。浏览器果然没有骗我。被我找到了吧! 再次访问 http://localhost:4000/search.xml , 有时会提示下一个报错处,我是比较幸运的,只有一处报错。相同的方法解决,直到出现下面的界面 回到 http://localhost:4000 点击搜索按钮 参考 Hexo博客无法搜索的终极解决方法 来源: CSDN 作者: 99708 链接: https://blog.csdn.net/Strong997/article/details/104887353

HTTP初步了解

纵然是瞬间 提交于 2020-03-17 04:53:08
HTTP协议简介 HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。(暂不介绍HTTP2) 协议 协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。 无状态 无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。 客户端/服务端模型 五层网络模型 URL构成 用了这么久,你注意过吗? 协议内容 请求(Request) 客户端发送一个HTTP请求到服务端的格式: 请求行 请求头 请求体 响应(Response) 服务端响应客户端格式: 状态行 响应头 响应体 状态码 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型: 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** 客户端错误,请求包含语法错误或无法完成请求 5** 服务器错误,服务器在处理请求的过程中发生了错误 更详细的状态码可查看 HTTP状态码 但一般我们只需要知道几个常见的就行,比如 200,400,401,403,404,500,502. 请求方法 截止到HTTP1.1共有下面几种方法: 方法 描述 GET

HTTP原理

谁说我不能喝 提交于 2020-03-17 04:51:41
HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP 工作原理 HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。 Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP默认端口号为80,但是你也可以改为8080或者其他端口。 HTTP三点注意事项: HTTP是 无连接 :无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 HTTP是 媒体独立的 :这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 HTTP是 无状态 :HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面

nginx 加上ssl配置

强颜欢笑 提交于 2020-03-16 14:23:13
某厂面试归来,发现自己落伍了!>>> #user nobody; #双核2个进程 #worker_processes 2; #worker_cpu_affinity 01 10; #8核开启8个进程 worker_processes 8; worker_cpu_affinity 10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001; error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid logs/nginx.pid; # 每进程最大可打开文件描述符数量(linux上文件描述符比较广义,网络端口、设备、磁盘文件都是) # 文件描述符用完了,新的连接会被拒绝,产生502类错误 # linux最大可打开文件数可通过ulimit -n FILECNT或 /etc/security/limits.conf配置 # 理论值 系统最大数量 / 进程数。但进程间工作量并不是平均分配的,所以可以设置的大一些 #设置了这个后,修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值。 worker_rlimit_nofile

HTTP读书笔记——HTTP报文内的HTTP信息

不问归期 提交于 2020-03-16 09:00:00
HTTP报文 用于HTTP协议交互的信息被称为报文。 请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端)的叫做响应报文。 HTTP报文本身是由多行数据构成的字符串文本。 HTTP报文大致上可分为报文首部和报文主体两块,两者由最初出现的空行来划分。 通常,并不一定要有报文主体。 请求报文和响应报文的结构 请求报文和响应报文的首部内容由以下数据组成。 请求行:包含用于请求的方法,请求URI和HTTP版本。 状态行:包含表明响应结果的状态码,原因短语和HTTP版本。 首部字段:包含表明请求和响应的各种条件和属性的各类首部。 一般有四种首部,分别是通用首部、请求首部和实体首部。 其他:可能包含HTTP的RFC里未定义的首部(Cookie等)。 编码提升传输速率 HTTP在传输数据时可以按照数据原貌直接传输,也可以在传输过程中通过编码提升传输速率。 通过在传输时编码,能有效地处理大量的访问请求。 但是,编码的操作需要计算机来完成,因此会消耗更多的CPU资源。 报文主体和实体主体的差异 报文 是HTTP通信中的基本单位,由8位组字节流组成,通过HTTP通信传输。 实体 作为请求和响应的有效载荷数数据(补充项)被传输,其内容由实体首部和实体主体组成。 HTTP报文的主体用于传输请求或响应的实体主体。 通常,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化

XMLHTTPRequest状态status完整列表

做~自己de王妃 提交于 2020-03-16 06:36:31
当用户试图通过 HTTP 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因: 1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 ·0 - 本地响应成功。  · 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)  · 101 - Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 2xx - 成功 这类状态代码表明服务器成功地接受了客户端请求。  · 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。  · 201 - Created 服务器已经创建了文档,Location头给出了它的URL。  · 202 - Accepted 已经接受请求,但处理尚未完成。  · 203 - Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝,非权威性信息(HTTP 1.1新)。  · 204 - No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面

HTTP之get post

最后都变了- 提交于 2020-03-16 06:36:05
1.什么是URL    URL 的全称是 Uniform Resource Locator (统一资源定位符)  通过 1 个 URL ,能找到互联网上唯一的 1 个资源 URL 就是资源的地址、位置,互联网上的每个资源都有一个唯一的 URL URL 的基本格式 = 协议 :// 主机地址 / 路径 http://202.108.22.5/img/bdlogo.gif 协议:不同的协议,代表着不同的资源查找方式、资源传输方式.1>HTTP:// 表示采用HTTP协议, 主机地址:存放资源的主机的 IP 地址(域名)2>202.208.225/ 这是我的本地服务器地址, 路径:资源在主机中的具体位置3>img/bdlogo.gif 这是我要访问的数据在我服务器上的路径 2.URL 中常见的协议 : HTTP 超文本传输协议,访问的是远程的网络资源,格式是 http:// http 协议是在网络开发中最常用的协议 file 访问的是本地计算机上的资源,格式是 file:// (不用加主机地址) mailto 访问的是电子邮件地址,格式是 mailto: FTP 访问的是共享主机的文件资源,格式是 ftp:// HTTP 协议简介 HTTP 协议的作用 HTTP 的全称是 Hypertext Transfer Protocol ,超文本传输协议 规定客户端和服务器之间的数据传输格式

【C#】HTTP请求GET,POST

泄露秘密 提交于 2020-03-15 06:53:55
转自原文 【C#】HTTP请求GET,POST HTTP定义了与服务器交互的不同方法,基本方法有GET,POST,PUT,DELETE,分别对于查,该,增,删。一般情况下我们只用到GET和POST,其他两种都也可以用GET和POST来实现,很多浏览器也只实现了GET和POST两种方法   GET:用户获取信息     安全的:不会对服务器上的数据进行修改,和破坏     幂等的:相同的请求所返回的结果相同     参数是通过Url来传输,接在Url后面中间用?分开,不同参数之间用&分开,下面表示传递两个参数param1和param2,值为value1和value2       http://songurl/index.htm?param1=value1&param2=value2     通过上面可以看到,GET请求数据在隐私方面又是不安全的,因为Url上的信息可以直接让用户看到,这样不利于隐私保护   POST:用于更新数据     传递的数据对用户隐藏,封装在包里,具体看演示     有时候请求会重定向,但我们就需要从重定向url获取东西,这时可以 设置重定向禁用,你就可以从headers的Location属性中获取重定向地址       request.AllowAutoRedirect = false;       string[] values = request

C# http请求:get,post

霸气de小男生 提交于 2020-03-15 06:53:13
get: /// <summary> /// GET请求与获取结果 /// </summary> public static string HttpGet(string Url, string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); request.Method = "GET"; request.ContentType = "text/html;charset=UTF-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close();