http请求

HTTP详解(1)-工作原理

末鹿安然 提交于 2020-02-02 04:37:42
1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 在了解HTTP如何工作之前,我们先了解计算机之间的通信。 2. 计算机相互之间的通信 互联网的关键技术就是TCP/IP协议。两台计算机之间的通信是通过TCP/IP协议在因特网上进行的。实际上这个是两个协议: TCP : Transmission Control Protocol 传输控制协议和IP: Internet Protocol 网际协议。 IP:计算机之间的通信 IP协议是计算机用来相互识别的通信的一种机制,每台计算机都有一个IP.用来在internet上标识这台计算机。 IP 负责在因特网上发送和接收数据包。通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。IP 负责将每个包路由至它的目的地。 IP协议仅仅是允许计算机相互发消息,但它并不检查消息是否以发送的次序到达而且没有损坏(只检查关键的头数据)。为了提供消息检验功能,直接在IP协议上设计了传输控制协议TCP. TCP : 应用程序之间的通信 TCP确保数据包以正确的次序到达

前端需要了解的http知识

旧巷老猫 提交于 2020-02-02 04:02:22
http基本概念 http是一个无状态 ,无连接的基于TCP协议的单向应用层协议 一、无连接 无连接即每次链接只处理一个请求,请求和应答后就断开链接 二、无状态 http的每次请求都是独立的,不相关的,协议对事物处理没有记忆功能。 HTTP无状态的特性严重阻碍了这些交互式应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持HTTP状态的技术就应运而生了,一个是Cookie,而另一个则是Session。 HTTP请求报文 HTTP请求报文由3部分组成(报文行+报文头+报文体): 常见的HTTP响应报文头属性 Cache-Control 响应输出到客户端后,服务端通过该报文头属告诉客户端如何控制响应内容的缓存。 常见的取值有private、public、no-cache、max-age,no-store,默认为private。 private: 客户端可以缓存 public: 客户端和代理服务器都可缓存(前端的同学,可以认为public和private是一样的) max-age=xxx: 缓存的内容将在 xxx 秒后失效 no-cache: 需要使用对比缓存来验证缓存数据 no-store: 所有内容都不会缓存 默认为private,缓存时间为31536000秒(365天)也就是说,在365天内再次请求这条数据

HTTP详解1-工作原理

£可爱£侵袭症+ 提交于 2020-02-02 03:56:56
1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 在了解HTTP如何工作之前,我们先了解计算机之间的通信。 2. 计算机相互之间的通信 互联网的关键技术就是TCP/IP协议。两台计算机之间的通信是通过TCP/IP协议在因特网上进行的。实际上这个是两个协议: TCP : Transmission Control Protocol 传输控制协议和IP: Internet Protocol 网际协议。 IP:计算机之间的通信 IP协议是计算机用来相互识别的通信的一种机制,每台计算机都有一个IP.用来在internet上标识这台计算机。 IP 负责在因特网上发送和接收数据包。通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。IP 负责将每个包路由至它的目的地。 IP协议仅仅是允许计算机相互发消息,但它并不检查消息是否以发送的次序到达而且没有损坏(只检查关键的头数据)。为了提供消息检验功能,直接在IP协议上设计了传输控制协议TCP. TCP : 应用程序之间的通信 TCP确保数据包以正确的次序到达

HTTP请求-基础

巧了我就是萌 提交于 2020-02-02 01:30:54
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,和 TCP/IP 协议族内的其他众多的协议相同, 用于客户端和服务器之间的通信,请求访问文本或图像等资源的一端称为客户端, 而提供资源响应的一端称为服务器端。 HTTP协议交互的典型描述 为什么要“三次握手” 客户端和服务端通信前要进行连接,“三次握手”的作用就是双方都能明确自己和对方的收、发能力是正常的。 第一次握手:客户端发送网络包,服务端收到。也即客户端的发送能力、服务端的接收能力正常。 第二次握手:服务端发包,客户端收到。说明服务端的接收、发送能力,客户端的接收、发送能力是正常的。 从客户端的视角来看,我接到了服务端发送过来的响应数据包,说明服务端接收到了我在第一次握手时发送的网络包,并且成功发送了响应数据包,这就说明,服务端的接收、发送能力正常。而另一方面,我收到了服务端的响应数据包,说明我第一次发送的网络包成功到达服务端,这样,我自己的发送和接收能力也是正常的。 第三次握手:客户端发包,服务端收到了。这样服务端就能得出结论:客户端的接收、发送能力,服务端的发送、接收能力是正常的。 第一、二次握手后,服务端并不知道客户端的接收能力以及自己的发送能力是否正常。而在第三次握手时,服务端收到了客户端对第二次握手作的回应。从服务端的角度,我在第二次握手时的响应数据发送出去了

Asp.net Web Api 设计

旧街凉风 提交于 2020-02-02 00:38:38
目录 Asp.net Web Api 设计[持续更新] 第一部分 基础知识 第一章 因特网、万维网和HTTP协议 1.1 Web体系结构 第二章 Web Api 2.1 什么是Web Api 2.6 Web Api 指南 第三章 Asp.Net Web Api Asp.net Web Api 设计[持续更新] 第一部分 基础知识 第一章 因特网、万维网和HTTP协议 1.1 Web体系结构 Web体系有三个核心概念:资源 、URL和表示。一个资源由一个URI进行标识,而HTTP客户端使用URI就可定位资源。表示是从资源返回的那些数据。和Web相关的另-一个重要概念是媒体类型(media type),指的是从资源返回数据的格式。 1.1.1 资源 任何带有URL 标识的东西都是资源。 一个网页一个文档或者是一个文件都是资源,而资源不仅限于这些,它也可以是一个建立连接的服务。也可以是一个媒体流声音流。 资源必须关联实体或者数据库吗? 现在,人们对于Web API有一一个常见的误解,认为一个资源必须对应到一个有数据库支持的实体或者业务对象。在讨论设计时经常会有人说:“我们不能用这个资源,因为这个资源需要在数据库中创建一个表,而我们又不需要这张表。”前面给出的资源定义中描述了到一个或多个实体的映射,这里所说的实体是泛指的(也就是说,实体可以是任何东西),而不是特指业务对象

HTTP:Java实现HTTP请求的三种方式

你离开我真会死。 提交于 2020-02-01 17:02:36
目前JAVA实现HTTP请求的方法用的最多的有两种: 一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求, HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多 ,HttpClient4.5是org.apache.http.client下操作远程 url的工具包,最新的; 另一种则是通过HttpURLConnection去实现,HttpURLConnection是JAVA的标准类,是JAVA比较原生的一种实现方式。 第一种方式:java原生HttpURLConnection package com.powerX.httpClient; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net

HTTP请求流程

穿精又带淫゛_ 提交于 2020-02-01 12:27:27
名词解析: 1:AppDomain—应用程序域,它是一个应用程序在其中执行的独立环境 2:w3wp.exe和aspnet_wp.exe—IIS6.0/IIS5.0 ASP.NET程序运行的必须进程 3:aspnet_isapi.dll—处理aspx等文件的执行文件 4:Managed Modules—托管模块 5: Handlers—处理程序 一:在操作系统启动的时候 ,IIS首先在HTTP.SYS中注册自己的虚拟路径 1:访问不到的URL或者文件,出现404错误,将错误信息返回给客户端。 2:如果请求可访问的URL,HTTP.SYS将请求交给IIS工作者进程w3wp.exe 二:ISAPI(INTERNET SERVER APPLICATION PROGRAME INTERFACE) 互联网服务器应用程序接口的工作如下: 1:映射文件与其对应的处理程序 1:从HTTP.SYS获取当期请求的信息,保存在HttpWorkerRequest类中 2:在相互隔离的AppDoamin中加载HttpRuntime 3:调用HttpRunTime的ProcessRequest(HttpWorkerRequest wr)方法 三:当请求进入HttpRunTime后,管道由Managed Modules和Handler组成,由它们处理这个HTTP请求 HttpRuntime将Http请求转交给

http请求方法,get 对比 post

瘦欲@ 提交于 2020-02-01 07:49:17
本文转自:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp 两种最常用的 HTTP 方法是:GET 和 POST。 什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。 HTTP 的工作方式是客户机与服务器之间的请求-应答协议。 web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。 举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。 两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据 GET 方法 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?name1=value1&name2=value2 有关 GET 请求的其他一些注释: GET 请求可被缓存 GET 请求保留在浏览器历史记录中 GET 请求可被收藏为书签 GET 请求不应在处理敏感数据时使用 GET 请求有长度限制 GET 请求只应当用于取回数据 POST 方法 请注意,查询字符串(名称/值对)是在

JSONP浅析

霸气de小男生 提交于 2020-02-01 02:41:14
DEMO : JSONP示例 为什么使用JSONP JSONP和JSON是不一样的。JSON( JavaScript Object Notation )是一种基于文本的数据交换方式,或者叫做数据描述格式。而JSONP( JSON with Padding )是一种方式或者说非强制性协议。它是为了解决某个难题而产生的一种技术方式。 为什么会用到JSONP呢? 我们平时在用ajax请求服务端数据时,一般是这么写的: $.ajax({ type: "get", url: "getData.php", dataType: "json", success: function (data, textStatus, jqXHR) { console.log(data); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert('fail'); } }); 这是一段很普通的基于jQuery的AJAX请求,不会有什么问题。注意到: url 里是 getData.php ,说明这个文件url是基于当前服务器的,例如可能是 localhost ,也就是前端发出的请求来源是 localhost ,后端肯定也是 localhost 。他们俩是在同一个域名下。当然,平时我们也不会特别注意。 这时候,假如这个 url

GET,POST传值总结

我是研究僧i 提交于 2020-02-01 02:12:24
GET和POST是什么?HTTP协议中的两种发送请求的方法。 HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 其实,GET和POST本质上两者没有任何区别。他们都是HTTP协议中的请求方法。底层实现都是基于TCP/IP协议。上述的所谓区别,只是浏览器厂家根据约定,做得限制而已。 HTTP请求,最初设定了八种方法。这八种方法本质上没有任何区别。只是让请求,更加有语义而已。 OPTIONS 返回服务器所支持的请求方法 GET 向服务器获取指定资源 HEAD 与GET一致,只不过响应体不返回,只返回响应头 POST 向服务器提交数据,数据放在请求体里 PUT 与POST相似,只是具有幂等特性,一般用于更新 DELETE 删除服务器指定资源 TRACE 回显服务器端收到的请求,测试的时候会用到这个 CONNECT 预留,暂无使用 TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。为了避免这种情况发生,交通规则HTTP诞生了。HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签