http协议

http 协议

百般思念 提交于 2020-01-22 08:12:22
本篇内容会讲到 什么是服务器? 如何访问服务器? http 协议 请求消息格式 请求头 请求体 GET 和 POST 响应消息格式 响应头 响应体 在浏览器地址栏中输入一个页面地址,按下回车键后发生了什么? ajax 什么是服务器? 如果所有程序都是单机的,会导致什么后果呢? 1. 数据难以共享 2. 受计算机配置的影响,运算速度差异巨大 3. 个人计算机的安全性堪忧,可能会受到恶意程序的影响 有了服务器之后,这些都可以轻松解决 服务器在不同的语境下可能表达了不同的含义: 1. 一台独立的计算机 2. 一个应用程序 绝大部分使用,作为开发者,通常把服务器看作是一个应用程序。 无论它是哪一个状态,它都至少具有以下两个特点: 1. 能够通过网络,被其他程序访问 2. 能够提供一些服务 如果一个服务器(应用程序),它仅仅为一个浏览器网站服务,我们称它为 web 服务器 实际上,目前的web 服务器和游戏服务器界限已经非常模糊,可以认为,凡是在互联网中提供服务的服务器都是web 服务器 通常,我们把访问服务器的程序,称之为客户端 实际上, web 服务器不仅限于为浏览器提供服务,还可以为手机App、小程序、小游戏等常见互联网应用提供服务 本章内容只考虑浏览器 常见的 web 服务器有: nginx、 apache、iis 在开发阶段,web 服务器往往安装在本地计算机中

HTTP协议

旧时模样 提交于 2020-01-22 01:55:18
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。 基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等),属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 主要特点: 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

HTTP协议的几个重要概念

一笑奈何 提交于 2020-01-22 00:40:47
 转自: http://ice-cream.iteye.com/blog/77549  1.连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。  2.消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。  3.请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和 协议 的版本号  4.响应(Response):一个从服务器返回的信息包括HTTP 协议 的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。  5.资源(Resource):由URI标识的网络数据对象或服务。  6.实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。  7.客户机(Client):一个为发送请求目的而建立连接的应用程序。  8.用户代理(Useragent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。  9.服务器(Server):一个接受连接并对请求返回信息的应用程序。  10.源服务器(Originserver):是一个给定资源可以在其上驻留或被创建的服务器。  11.代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机

Http协议

柔情痞子 提交于 2020-01-22 00:39:08
一、 Http 协议 1. 什么是 Http 协议 HTTP ,超文本传输协议( HyperText Transfer Protocol) 是互联网上应用最为广泛的 一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为 了提供一种发布和接收 HTML 页面的方法 2. Http 协议的组成 Http 协议由 Http 请求和 Http 响应组成,当在浏览器中输入网址访问某个网站时,你的浏览器会将你的请求封装成一个 Http 请求发送给服务器站点,服务器接收到请 求后会组织响应数据封装成一个 Http 响应返回给浏览器。即没有请求就没有响应。 3.Http请求 编辑一个form.html的表单页面,如下:      1)请求行 请求方式:POST、GET 请求的资源:/DemoEE/form.html 协议版本:HTTP/1.1 HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。 HTTP/1.1,发送请求,创建一次连接,获得多个web资源,保持连接。 3)请求体 当请求方式是post的时,请求体会有请求的参数,格式如下: username=zhangsan&password=123 如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面 http://localhost:8080...?username

Linux C用http协议下载文件

醉酒当歌 提交于 2020-01-21 07:54:19
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <sys/time.h> #include <sys/select.h> #include <netdb.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <unistd.h> #include <netinet/in.h> #define RECV_BUF_LEN (1024*100) struct hostent *host; char domain[256] = {0}; int port = 0; int ret_status(char *recv_buf) { if(NULL == recv_buf) { printf("recv_buf is NULL\n"); return -1; } int http_status = 0; char line[256] = {0} ; char *rest ; rest = strstr(recv_buf,"\r\n"); if ( rest != NULL) { memcpy(line,recv_buf,rest

servlet中Http协议

痞子三分冷 提交于 2020-01-20 22:11:07
什么是http协议 http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 查看http协议的工具 1)使用火狐的firebug插件(右键->firebug->网络) 2)使用谷歌的“审查元素” Http请求 GET /day09/hello HTTP/1.1 -请求行 Host: localhost:8080 --请求头(多个key-value对象) 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-Encoding: gzip, deflate Connection: keep-alive –一个空行 name=eric&password=123456 --(可选)实体内容 请求行 GET /day09/hello HTTP/1.1 http协议版本 http1.0:当前浏览器客户端与服务器端建立连接之后,只能发送一次请求,一次请求之后连接关闭。 http1.1

接口测试系列课程

丶灬走出姿态 提交于 2020-01-20 21:25:51
接口测试系列课程 第一课:基础知识篇 第二课:app抓包 第三课:http协议简介 第四课:http协议 第五课:http headers 第六课:基本认证 第七课:cache 第八课:压缩解压 第九课:fiddler 第十课:接口文档 第十一课:断点调试 第十二课:fiddler过滤 测试基础、app测试、sql/linux、接口测试、python系列 专项测试、ui自动化、接口自动化、性能测试、持续集成 来源: CSDN 作者: yuanzizheli 链接: https://blog.csdn.net/yuanzizheli/article/details/104055918

HTTP/HTTPS协议

耗尽温柔 提交于 2020-01-20 14:35:30
HTTP协议是什么? 超文本传输协议(HyperText Transfer Protocol, 缩写:HTTP)是一种用于分布式、协作式和 超媒体信息系统的 应用层协议。 设计HTTP最初的目的是为了提供一种发布和接收 HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由 统一资源标识符(Uniform Resource Identifiers,URI)来标识。 Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。 怎么理解"HTTP是无状态协议"? 无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息. 所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。 无状态协议解决办法: 通过 1、Cookie 2、通过Session 会话保存。 Cookie 在实际业务场景中,会要求用户在页面A进行账号登陆

HTTP 协议的 8 种请求类型介绍

穿精又带淫゛_ 提交于 2020-01-19 15:16:45
HTTP 协议的 8 种请求类型介绍 HTTP 协议中共定义了八种方法或者叫“动作”来表明对 Request-URI 指定的资源的不同操作方式,具体介绍如下: OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。 HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。 GET:向特定的资源发出请求。 POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。 PUT:向指定资源位置上传其最新内容。 DELETE:请求服务器删除 Request-URI 所标识的资源。 TRACE:回显服务器收到的请求,主要用于测试或诊断。 CONNECT:HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 虽然 HTTP 的请求方式有 8 种,但是我们在实际应用中常用的也就是 get 和 post ,其他请求方式也都可以通过这两种方式间接的来实现。 https://www.runoob.com/note/35442 来源: https://www.cnblogs.com/ning-xiaowo/p/12213541

HTTP协议详解

。_饼干妹妹 提交于 2020-01-18 14:43:44
HTTP 协议详解 HTTP 请求 1. 请求行 ( 请求方式、资源路径、协议及版本 ) GET /news3/1.html HTTP/1.1 GET :请求方式,在 HTTP 协议中一共规定了 7 种请求方式, 我们只关注 GET 和 POST /news3/1.html :请求资源的路径 HTTP/1.1 :浏览器发送请求时所使用的协议及版本 2. 若干请求头 http 协议中请求头非常多,下面列出常见的请求头及其功能: Accept: text/html,image/* -- 通知服务器当前浏览器可以接受那些格式的数据 Accept-Charset: ISO-8859-1 -- 浏览器可以接受的字符集编码 Accept-Encoding: gzip,compress -- 浏览器可以接受的压缩格式 !!Referer: http://www.tedu.cn/index.jsp -- 这是和防盗链相关的头 , 对当前资源的访问来自哪个页面的超链接 User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) -- 客户端的基本信息 !!!Cookie ( 后面讲 ) -- 和 cookie 相关的头 Connection: close/Keep-Alive -- 是否继续保持连接 Date: Fri, 17 Feb