http协议

HTTP协议状态码详解(HTTP Status Code)

笑着哭i 提交于 2020-03-21 03:36:44
3 月,跳不动了?>>> 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码 说明 200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。 202 (已接受) 服务器已接受请求,但尚未处理。 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。 204 (无内容) 服务器成功处理了请求,但没有返回任何内容。 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。 206 (部分内容) 服务器成功处理了部分 GET 请求。 3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。 代码 说明 300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user

Web开发之HTTP协议

淺唱寂寞╮ 提交于 2020-03-21 01:45:09
HTTP响应消息 一个HTTP响应代表服务器向客户端回送的数据。 一个完整的HTTP响应包括如下内容: 一个状态行、若干消息头、以及响应正文,其中的一些消息头和正文都是可选的,消息头和正文内容之间要用空行隔开。 例如: HTTP/1.1 200 OK //状态行 Server: Microsoft-IIS/5.0 //消息头,以下都是 Date: Thu, 13 Jul 2000 05:46:53 GMT Content-Length: 2291 Content-Type: text/html Cache-control: private //消息头,以上都是 //空格隔开 <HTML> //实体内容 <BODY> …… 状态行:用于描述服务器对请求的处理结果 消息头:用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据 实体内容:代表服务器向客户端回送的数据 HTTP响应的细节——常用状态码 200(正常) 表示一切正常,返回的是正常请求结果 302/307(临时重定向) 指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。 304(未修改) 表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。 404(找不到) 服务器上不存在客户机所请求的资源。 500

HTTP协议

*爱你&永不变心* 提交于 2020-03-20 23:51:13
1、HTTP简介 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循HTTP协议。HTTP是TCP/IP协议的一个应用层协议,用于定义WEB服务器之间交换数据的过程及数据本身的格式。常见的HTTP协议版本有HTTP/1.0和HTTP/1.1。 2、HTTP1.0的基本运行方式 基于HTTP协议的客户/服务器模式的信息交换过程,如下图所示,它一共有四个过程:建立连接、发送请求信息、发送响应信息和关闭连接。 浏览器和WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。 浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应。 无状态 3、浏览器访问多图网页 在一个HTML页面中如果包含 <img> 标记的话,当浏览器解析到这些标记的时候,还会向服务器请求访问标记中指定的文件,即再次建立连接并发出HTTP请求。 如果HTML页面中有一个超级链接: <a href=”http://www.itcast.cn”>itcast</a> ,当点击这个链接时,也会触发浏览器与WEB服务器开始一次新的HTTP通信。 4、HTTP1.1详解 HTTP1.1的特点: 在一个TCP连接上可以传送多个HTTP请求和响应 多个请求和响应过程可以重叠 增加了更多的请求头和响应头,比如Host 、if-Unmodified

Http协议

我们两清 提交于 2020-03-20 23:50:43
简介 HTTP(Hyper Text Transfer Protocol)是超文本传输协议。它是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。 HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。(我们称这个客户端)叫用户代理(user agent)。 浏览器和服务器信息交换过程: 1.建立连接 2.发送请求信息 3.回送响应信息 4.关闭连接 由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 HTTP协议是一个无状态的协议 无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

【Nginx】MIME与mime.types

雨燕双飞 提交于 2020-03-19 19:14:54
3 月,跳不动了?>>> 当你刚安装完Nginx,打开默认的配置文件 nginx.conf 时,你会看到http上下文中有这一行配置: include mime.types; 有的小伙伴就有疑问了: mime.types 是什么文件?在Nginx中又是什么作用呢? 下面我们就来看看, mime.types 究竟是怎么回事。 一、MIME与电子邮件 说起MIME,我们首先要说说电子邮件。 早期的电子邮件只能支持ASCII字符集,而且没法添加附件。后来,人们意识到电子邮件要想走向世界,必须支持更多的字符集,同时,能够随着邮件发送附件也成为越来越迫切的需求。在不断的努力下,MIME——Multipurpose Internet Mail Extension(多用途因特网邮件扩展)于1992年诞生了。通过MIME,我们可以将不同类型的数据(文本、图片、视频)放到一条邮件中。比如,可以写一封既含有英文,又含有中文,再加上一个mp3音乐文件作为附件的邮件。这种含有多种类型数据的文件被称为多部分对象集合(Multipart messages)。这就解决了我们前面说的两个问题。 可以说,没有MIME,就没有今天多姿多彩的互联网。 二、MIME与HTTP协议 除了支持电子邮件的SMTP协议以外,MIME还被其他协议或者程序广泛使用着,这其中就包括大名鼎鼎的HTTP协议

http协议和tcp协议的区别

老子叫甜甜 提交于 2020-03-19 15:39:43
TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。 Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。 随着时间的推移,html页面变得复杂了,里面可能嵌入了很多图片,这时候每次访问图片都需要建立一次tcp连接就显得低效了。因此Keep-Alive被提出用来解决效率低的问题。从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。 虽然这里使用TCP连接保持了一段时间

从开发者(Java)角度理解Request和Response

最后都变了- 提交于 2020-03-18 17:31:01
3 月,跳不动了?>>> 背景知识: 超文本传输协议 (HTTP-Hypertext transfer protocol) : 一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 七层网络协议: 应用层协议包括: HTTP 、FTP、Telnet、SMTP、RIP、NFS、DNS;TCP/UDP协议属于传输层协议;IP协议属于网际层。 深入理解一方面知识之前最好能够理清知识的结构,然后再对症寻医。 正文: 从开发角度上,我们主要从“七层网络协议”中应用层协议的“ HTTP 协议”入手去了解“请求”和“响应”,从而屏蔽再往下的细节,并为更上层的开发奠定知识理论基础。这里的请求和响应就是我们常常说到的Request和Response。 HTTP内容很多,本文只挑选所能用来解释本话题的相关知识(也就是说包括但并不仅限于,更详细戳这里 《HTTP权威指南》 ),废话太多了。 一次请求 是什么东西?教材上往往会给出很多内容:请求行、消息报头、请求正文,每部分内容中又可以细分很多Key-Value。具体是什么,可以用Firefox下的HttpFox扩展组件看个究竟。(Web开发推荐使用Firefox,当然也有人很喜欢Chrome),如图(一次访问百度首页的相关细节): 从该组件中,我们可以清楚看到一次URL访问(请求www.baidu

http 协议 相关知识 --请求

一笑奈何 提交于 2020-03-18 17:19:27
3 月,跳不动了?>>> 一:什么是http协议: http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 二:查看http协议的工具   1)使用火狐的firebug插件(右键->firebug->网络)   2)使用谷歌的“审查元素”   3)使用系统自带的telnet工具(远程访问工具)     a)telnet localhost 8080 访问tomcat服务器     b)ctrl+] 回车 可以看到回显     c)输入请求内容      GET /day09/hello HTTP/1.1 Host: localhost: 8080     d)回车,即可查看到服务器响应信息。 三:http协议内容 请求(浏览器- 》服务器) GET /day09/hello HTTP/1.1 Host: localhost: 8080 User -Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text /html,application/xhtml+xml,application/xml;q=0.9,* /* ;q=0.8 Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3 Accept

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 ,超文本传输协议 规定客户端和服务器之间的数据传输格式

JS使用http协议实现ping功能

夙愿已清 提交于 2020-03-15 13:00:26
目前项目需要用到,实现原理很简单,提交一个ajax请求,并分别记录发送时间和收到回复时间即可。 代码转自:http://www.ttlsa.com/dev/use-js-ping-url-ping-ip/ $.ping = function(option) { var ping, requestTime, responseTime ; var getUrl = function(url){ //保证url带http:// var strReg="^((https|http)?://){1}" var re=new RegExp(strReg); return re.test(url)?url:"http://"+url; } $.ajax({ url: getUrl(option.url)+'/'+ (new Date()).getTime() + '.html', //设置一个空的ajax请求 type: 'GET', dataType: 'html', timeout: 10000, beforeSend : function() { if(option.beforePing) option.beforePing(); requestTime = new Date().getTime(); }, complete : function() { responseTime =