http请求

记录一下 http status code

南楼画角 提交于 2020-04-03 12:46:02
HTTP Method 较为简单,我们常用的习惯如下: 一般查询我们都会使用 GET 方法, 创建新的记录使用 POST 方法 更新已有数据使用 PUT 方法 更新已有数据部分属性使用 PATCH 方法 删除已有数据使用 DELETE 方法 下面来详细介绍一下常用的 HTTP 状态码 1xx 1xx 状态码一般是一个请求的中间状态,一般是信息提示,请求协商 100 Continue,请求未结束,应该继续请求 101 Switching Protocol,协议转换,在使用 Web Socket 的时候就会遇到,下面是一个示例,响应会有一个 Connection:Upgrade 的请求头, Upgrade 会指定要使用的协议名称 2xx 2xx 一般表示请求处理成功 200 OK,请求处理成功 201 Created,请求处理成功,并且新资源已经创建 202 Accepted,请求已经接受,正在处理,尚未处理完成 204 No Content,响应内容为空,在 asp.net core 中返回一个 Json(null) 的时候就会是一个 NoContent 的结果 3xx 3xx 一般表示重定向 301 Moved Permanently 永久重定向 302 Found 临时重定向 307 Temporary Redirect 临时重定向请求 308 Permanent

HTTP中Get与Post的区别

跟風遠走 提交于 2020-04-03 10:25:01
转载于:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html  Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的

HTTP协议

橙三吉。 提交于 2020-04-03 08:20:57
目录 HTTP协议 回到顶部 HTTP协议简介 超文本传输协议(英文:Hyper Text Transfer Protocol,HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。 HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。 2014年12月,互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。 HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。 推荐书籍: HTTP权威指南 回到顶部 HTTP协议概述 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)

在浏览器输入URL回车之后发生了什么(转载)

眉间皱痕 提交于 2020-04-02 19:24:44
转自:https://www.cnblogs.com/abdm-989/p/11979689.html#_label0 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 从URL输入到页面展现   总体来说分为以下几个过程:   (1)URL 解析   (2)DNS 解析:将域名解析成 IP 地址   (3)TCP 连接:TCP 三次握手   (4)发送 HTTP 请求   (5)服务器处理请求并响应 HTTP 报文   (6)浏览器解析渲染页面   (7)断开连接:TCP 四次挥手 一 URL解析 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。比如 http://www.w3school.com.cn/html/index.asp ,遵守以下的语法规则:   scheme://host.domain:port/path/filename    各部分解释如下:     scheme - 定义因特网服务的类型。常见的协议有 http、https、ftp、file,其中最常见的类型是 http,而 https 则是进行加密的网络传输。     host - 定义域主机(http 的默认主机是 www)     domain - 定义因特网

31.1.http基础知识简介

瘦欲@ 提交于 2020-04-02 12:11:37
TCP/IP协议 跨网络的主机间通讯 在建立通信连接的每一端,进程间的传输要有两个标志: IP地址和端口号,合称为套接字地址 socket address 客户机套接字地址定义了一个唯一的客户进程 服务器套接字地址定义了一个唯一的服务器进程 SOCKET套接字 Socket:套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换,SocketAPI出现于1983年,4.2 BSD实现 Socket API:封装了内核中所提供的socket通信相关的系统调用 Socket Domain:根据其所使用的地址 AF_INET:Address Family,IPv4 AF_INET6:IPv6 AF_UNIX:同一主机上不同进程之间通信时使用 Socket Type:根据使用的传输层协议 SOCK_STREAM:流,tcp套接字,可靠地传递、面向连接 SOCK_DGRAM:数据报,udp套接字,不可靠地传递、无连接 SOCK_RAW: 裸套接字,无须tcp或udp,APP直接通过IP包通信 客户/服务器程序的套接字函数 套接字相关的系统调用: socket(): 创建一个套接字 bind(): 绑定IP和端口 listen(): 监听 accept(): 接收请求 connect(): 请求连接建立 write(): 发送 read(): 接收

网络

删除回忆录丶 提交于 2020-04-01 13:09:13
OSI 的七层模型 应用层 :网络服务与最终用户的一个接口。HTTP、FTP、RPC 表示层: 数据的表示、安全、压缩。 会话层: 建立、管理、终止会话。 传输层: 定义传输数据的协议端口号,以及流控和差错校验。TCP、UDP 网络层: 进行逻辑地址寻址,实现不同网络之间的路径选择。IP 数据链路层: 建立逻辑连接、进行 硬件地址 寻址、差错校验等功能。MAC 物理层: 建立、维护、断开物理连接。bit流 TCP和UDP UDP在传输数据时不需要建立连接,远程的主机在接收到 UDP报文 之后不需要给出确认。 虽然提供的是不可靠交付,但是在某些情况下是一种有效的工作方式(一般用于即时通信),比如QQ语音,QQ音频,直播等等。UDP支持一对一,一对多,多对一和多对多的交互通信。 TCP在传输数据之前需要先建立连接,数据传输结束后需要释放连接。并且,不提供广播或者多播。由于TCP需要提供可靠的,面向连接的传输服务,所以会增加开销,如,确认、流量控制、计时器以及连接管理等。TCP一般用于文件的传输、发送和邮件的收发、远程登录等。 TCP特点: TCP通过检验 序列号,确认应答, 重发控制 ,连接管理以及窗口控制等机制实现可靠性传输。 通过序列号与确认应答提高可靠性(传输): TCP通过肯定的确认应答ACK实现可靠的 数据传输 。当发生端将数据发送出去之后会等待对端 的确认应答

http协议相关面试题

荒凉一梦 提交于 2020-04-01 13:08:47
浏览器输入url按回车背后经历了哪些? 1.在PC浏览器的地址栏输入一串URL,然后按Enter键这个页面渲染出来,这个过程中都发生了什么事? 1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法 2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。 浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求; 操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存); 路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存; ISP缓存:若上述均失败,继续向ISP搜索。 3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。 4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。 5、握手成功后,浏览器向服务器发送http请求,请求数据包。 6、服务器处理收到的请求,将数据返回至浏览器 7、浏览器收到HTTP响应 8、浏览器解码响应,如果响应可以缓存,则存入缓存。 9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。 10、 浏览器发送异步请求。 11、页面全部渲染结束。

HTTP协议简介

心不动则不痛 提交于 2020-04-01 07:53:40
HTTP协议简介 在TCP/IP体系结构中,HTTP属于应用层协议,位于TCP/IP协议的顶层。浏览Web时,浏览器通过HTTP协议与Web服务器交换信息。这些信息(文档)类型的格式由MIME定义。 HTTP协议具有以下的特点: HTTP按客户/服务器模式工作 HTTP支持客户(一般情况是浏览器)与服务器的通讯,相互传输数据。 HTTP定义的事务处理由以下四步组成: 客户与服务器建立连接; 客户向服务器提出请求; 如果请求被接受,则服务器送回响应,在响应中包括状态码和所需的文件; 客户与服务器断开连接 一次HTTP操作称为一次 事务 ( transaction )。 HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 HTTP使用元信息作为头标 HTTP对所有事务都加了 头标 ( header )。也就是说,在主要数据前加上一块信息,称为 元信息 ( metainformation )。它使服务器能够提供正在传送数据的有关信息。例如,传送对象是哪种类型,是用哪种语言书写的等。 从功能上讲,HTTP支持四类元信息:一般信息头标、请求头标、响应头标和实体头标。 HTTP支持两种请求和响应格式 HTTP由不同的两部分组成,一是从浏览器发往服务器的请求,二是服务器对客户的响应。 HTTP支持两种请求和响应

Http Response Code

孤街浪徒 提交于 2020-04-01 02:22:13
HTTP协议状态码表示的意思主要分为五类 ,大体是 : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1××   保留 2××   表示请求成功地接收 3××   为完成请求客户需进一步细化请求 4××   客户错误 5××   服务器错误 --------------------------------------------------------------- 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) Successful ================================= 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新

接口测试

落爺英雄遲暮 提交于 2020-04-01 01:18:46
接口测试就是功能测试,咱们测的都是程序对外的接口,接口其实就是各种操作数据库。 前端、后端 = 客户端、服务端 前端是用html和css,js等开发的 后端是用java、python、php等开发的 前后端所用语言不同,前后端通过接口交互,接口返回的数据都是json 前后端两者通用的数据类型:json(所有语言都可以解析) 测试接口,必须要有接口文档, (前四个是必备) 1.url 2.请求方式:post、get 3.入参(请求参数) 4.返回参数 5.请求、返回示例(非必须) 6.状态码说明(非必须) 如果是get请求,直接用浏览器就能发,不需要借助工具。 例如: 获取学生信息 简要描述: 获取学生信息接口 请求URL: http://api.nnzhp.cn/api/user/stu_info 请求方式: get 参数: 参数名 必选 类型 说明 stu_name 是 string 学生姓名 返回示例 { "error_code": 0, "stu_info": { "id": 1, "name": "小黑", "sex": "男", "age": 18 , "addr": "北京市昌平区回龙观", "phone": "18612532945", 10. "grade":"巨蟹座", 11. "gold":100 12. } 13. } 在浏览器调用接口:在浏览器输入