http协议

2.6 Servlet和HTTP请求协议

老子叫甜甜 提交于 2020-02-12 19:40:20
## Servlet: server applet * 概念:运行在服务器端的小程序 * Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。 * 将来我们自定义一个类,实现Servlet接口,复写方法。 * 快速入门: 1. 创建JavaEE项目 2. 定义一个类,实现Servlet接口 * public class ServletDemo1 implements Servlet 3. 实现接口中的抽象方法 4. 配置Servlet 在web.xml中配置: <!--配置Servlet --> <servlet> <servlet-name>demo1</servlet-name> <servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/demo1</url-pattern> </servlet-mapping> * 执行原理: 1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径 2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。 3.

Web框架本质及浅谈HTTP协议

百般思念 提交于 2020-02-12 09:25:00
Web框架本质 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。 # !/usr/bin/env python # -*- coding:utf-8 -*- # __Author__ Jianer import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n") client.send("Hello, Seven") def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost',8000)) sock.listen(5) while True: connection, address = sock.accept() handle_request(connection) connection.close() if __name__ == '__main__': main() socket流程不细说,关于web框架的一些阐释 上述通过socket来实现了其本质,而对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序

HTTP协议小结

陌路散爱 提交于 2020-02-12 03:03:39
1.什么是HTTP 超文本传输协议 (英文: HyperText Transfer Protocol ,缩写: HTTP )是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Locator,URL)来标识,通俗地讲,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。 2.在TCP/IP协议栈中的位置: HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: 默认HTTP的端口号为80,HTTPS的端口号为443 3.HTTP的请求响应模型 HTTP协议永远都是客户端发起请求,服务器回送响应。 不经过代理服务器的请求方式 经过代理服务器的请求方式 这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。 HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。 4.URL详解 URL的基本格式: schema://host[:port#]/path/.../[?query-string][#anchor] scheme 指定低层使用的协议(例如

通讯协议(一)HTTP协议

浪尽此生 提交于 2020-02-12 02:56:56
协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。目前我们使用的是HTTP/1.1 版本。 当我们打开浏览器,在地址栏中输入URL,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页。 URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下: schema://host[:port#]/path/.../[?query-string][#anchor] scheme 指定低层使用的协议(例如:http, https, ftp) host HTTP服务器的IP地址或者域名 port# HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明 path 访问资源的路径 query-string 发送给http服务器的数据 anchor 锚 http://www.test.com:8080/v1/user?name=cellphone#introduction Schema: httphost: www

(摘抄)HTTP 协议详解

て烟熏妆下的殇ゞ 提交于 2020-02-12 02:49:47
这个是从网上摘抄下来的,原文链接在最底下,原文写的比较详细,我这里只取了一部分自己想要的 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 HTTP协议是无状态的   http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态. Get和Post方法的区别   Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息. 我们看看GET和POST的区别 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.

Websocket、长连接、循环连接

谁说胖子不能爱 提交于 2020-02-09 10:59:50
【转】转自知乎高票回答 https://www.zhihu.com/question/20215561 一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算) 首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充可以通过这样一张图理解 有交集,但是并不是全部。 另外Html5是指的一系列新的API,或者说新规范,新技术。Http协议本身只有1.0和1.1,而且跟Html本身没有直接关系。。 通俗来说,你可以用HTTP 协议 传输非Html 数据 ,就是这样=。= 再简单来说, 层级不一样 。 二、Websocket是什么样的协议,具体有什么优点 首先,Websocket是一个 持久化 的协议,相对于HTTP这种 非持久 的协议来说。 简单的举个例子吧,用目前应用比较广泛的PHP生命周期来解释。 1) HTTP的生命周期通过Request来界定,也就是一个Request 一个Response,那么 在 HTTP1.0 中 ,这次HTTP请求就结束了。 在HTTP1.1中进行了改进,使得有一个keep

Http协议转码

孤人 提交于 2020-02-06 18:32:02
UrlEnCode与UrlDeCode 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。 下表中列出了一些URL特殊符号及编码 :替换为%3A  1. + URL 中+号表示空格 %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. / 分隔目录和子目录 %2F 4. ? 分隔实际的 URL 和参数 %3F 5. % 指定特殊字符 %25 6. # 表示书签 %23 7. & URL 中指定的参数间的分隔符 %26 8. = URL 中指定参数的值 %3D @RequestMapping("/test") public String test(String name) { System. out .println("name:" + name); return "test" + name; } public static void main(String[] args) { String userNameEncode = URLEncoder. encode ( "yusheng+jun" ) ; System. out .println("userNameEncode:" +

web开发之http和wsgi

我们两清 提交于 2020-02-06 10:58:11
web开发也就是前端和后端,首先理解一下前后端分离技术,其实说的后端代码和前端代码分割开来。不然不利于前端和后端分别开发。 web开发 CS即客户端、服务端编程。传统的socket开发。 客户端、服务端之间需要使用socket,约定协议,版本(往往使用的协议是TCP或者UDP),指定地址和端口,就可以通信了。客服端、服务端传输数据,数据可以有一定的格式,双方必须先约定好。 BS编程,即Brower、Server开发。 brower浏览器,是一种特殊的 客户端,支持http(s)协议,能够通过URL向服务器发起请求,等待服务器返回HTML等数据,并在浏览器内可视化展示的程序。 SERVER,支持http协议,能够接受众多客户端发起的http协议请求,经过处理,将HTML等数据返回给浏览器。 本质上来说,BS是一种特殊的CS,即 客户端必须是一种支持http协议且能解析并渲染html的软件,服务端必须是能够接受多客户端http访问的服务器软件。 http协议底层是基于tcp协议实现。 BS开发分为两端开发。 客户端开发——或称前端开发。HTML(控制格式),css(控制样式),JavaScript等。 服务端开发, python有WSGI,django,flask,tornado等。 http协议 http协议是 无状态协议 。同一个客户端的两次请求之间并没有任何关系,从服务端角度来说

前端需要了解的HTTP协议

此生再无相见时 提交于 2020-02-05 20:49:51
目录 HTTP协议 HTTP概述 HTTP之URL HTTP状态码 HTTP首部 HTTP首部字段 HTTP通用首部字段 HTTP请求首部字段 HTTP工作原理 HTTP报文内的HTTP信息 HTTP之请求消息Request HTTP之响应Response get请求和post请求 get请求 post请求 post和get请求的区别 HTTP协议 @ HTTP概述 http协议是用来规定客户端和服务器间通信的报文的格式的; 客户端和服务器端通信的内容称为报文; 客户端和服务器间通信是基于请求和响应的模式的;客户端给服务器发送请求报文,服务器给客户端返回响应报文; 服务器:接收请求返回响应; 请求 request 响应 response http客户端和服务器端 客户端发送给服务器的请求就相当于是客户端给服务器写信(请求报文); 服务器返回的相应就相当于服务器给客户端写回信(响应报文); http协议就是规定客户端和服务器端传输的协议; HTTP之URL HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息; URL,全称是UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址。 以下面这个URL为例

接口测试基础知识

孤街醉人 提交于 2020-02-05 08:58:54
气象大数据交易平台 微信开放平台 接口测试: 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递、和控制管理过程,以及相互逻辑以来关系。其中接口协议分为HTTP,WebServeice,Dubbo,Thrift,Socket等类型 接口测试流程: 需求分析——用例设计——脚本开发——测试执行——结果分析 HTTP简介 网络应用层协议除了HTTP(超文本传输协议)外还有FTP(文本传输协议),SMTP(邮件传输协议)、DNS(域名协议)、RIP(路由协议)、Telnet(远程登陆协议)等 HTTP特点 **无连接:**无连接的含义是限制每次链接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接 媒体独立 :这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端及服务器指定使用适合的MIME类型来传输。详见 MIME参考手册 **无状态:**HTTP协议是无状态协议。无状态是指协议对于事物处理没有记忆能力。如果服务器不需要先前信息,南无他的应答就比较快。但是缺少状态意味着如果后续处理需要前面的信息,则他必须重传,这样可以能导致每次链接传递的数据量增大,此时可以设置缓存。 HTTP与TCP/IP区别 TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决 来源: CSDN