http请求

计算机网络基础知识总结(六)应用层

陌路散爱 提交于 2020-02-05 02:25:37
文章目录 六、应用层 6.1 域名系统DNS 6.1.1 基础概念 6.1.2 域名服务器 6.2 文件传送协议 6.2.1 介绍 6.2.2 FTP协议 6.2.3 简单文件传送协议TFTP 6.3 远程终端协议TELNET 6.4 万维网WWW 6.4.1 介绍 6.4.2 统一资源定位符URL 6.4.3 超文本传送协议HTTP 6.4.4 其它 6.5 电子邮件 6.6 动态主机配置协议DHCP 六、应用层 6.1 域名系统DNS 6.1.1 基础概念 1)域名系统DNS(Domain Name System):是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。 互联网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。 2)域名服务器程序(可简称为域名服务器):域名到IP地址的解析是由分布在互联网上的许多域名服务器程序共同完成的。人们也常把运行域名服务器程序的机器称为域名服务器。 3)互联网的域名结构 DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符(但为了记忆方便,最好不要超过12个字符),也不区分大小写字母(例如,CCTV或cctv在域名中是等效的)。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的顶级域名则写在最右边。由多个标号组成的完整域名总共不超过255个字符。

图解HTTP(6)

爷,独闯天下 提交于 2020-02-04 21:48:50
在HTTP协议的请求和响应报文中必定包含HTTP首部。 学习HTTP首部的结构和首部中各字段的用法。 1. HTTP报文首部 客户端和服务器分别处理请求和响应提供所需要的信息。 HTTP请求报文首部(方法、URI、HTTP版本、HTTP首部字段) HTTP响应报文首部(HTTP版本、状态码、HTTP首部字段) 2. HTTP首部字段 使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。 结构: 首部字段名:字段值 exp: Content-Type:text/html 4种首部字段类型 通用首部字段 :请求报文和响应报文都会使用的首部。 请求首部字段 :客户端到服务器发送请求报文使用的首部。包含附加内容、客户端信息、响应内容优先级。 响应首部字段 :服务器到客户端返回响应报文使用的首部。 实体首部字段 :针对请求报文和响应报文的实体部分使用的首部。 HTTP首部字段一览表 下面对部分重要字段进行介绍: Cache-Control 操作缓存的工作机制 Private/public 其他用户是否可以利用缓存 no-cache 防止从缓存中返回过期的资源 no-store 暗示请求或响应中包含机密信息,就是不能缓存该信息 s-maxage 指定缓存期限和认证 min-fresh 缓存服务器返回至少还未超过指定时间的缓存资源 Max-stale

HTTP协议

假如想象 提交于 2020-02-04 16:53:14
1.什么是HTTP协议    HTTP协议(Hypertext transfer protocol),也叫超文本传输协议,作用就是对浏览器客户端和服务器端之间数据传输的格式规范,     它基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议。 2.HTTP协议的组成 请求行:请求方式 + URL + 协议版本 常见的请求方法有 GET、POST、PUT、DELETE、HEAD 客户端要获取的资源路径(所谓的URL) 客户端使用的 HTTP 协议版本号(目前使用的是http1.1) 请求头:客户端向服务器发送请求的补充说明 host:请求地址 User-Agent: 客户端使用的操作系统和浏览器的名称和版本. Content-Length:发送给HTTP服务器数据的长度。 Content-Type:参数的数据类型 Cookie:将cookie的值发送给HTTP 服务器 Accept-Charset:自己接收的字符集 Accept-Language:浏览器自己接收的语言 Accept:浏览器接受的媒体类型 请求体:一般携带的请求参数 application/json:{"name":"value","name1":"value2”} application/x-www-form-urlencoded: name1

图解HTTP----读书笔记

十年热恋 提交于 2020-02-04 16:13:39
HTTP的历史 3 项 WWW 构建技术,分别是:把 SGML(Standard Generalized Markup Language,标准通用标记语言)作为页面的文本标记语言的 HTML(HyperText Markup Language,超文本标记语言);作为文档传递协议的 HTTP ; 指定文档所在地址的 URL(Uniform Resource Locator,统一资源定位符) HTTP/0.9 HTTP 于1990 年问世。那时的 HTTP 并没有作为正式的标准被建立。现在的 HTTP 其实含有 HTTP1.0 之前版本的意思,因此被称为HTTP/0.9。 HTTP/1.0 HTTP 正式作为标准被公布是在 1996 年的 5 月,版本被命名为HTTP/1.0,并记载于 RFC1945。虽说是初期标准,但该协议标准至今仍被广泛使用在服务器端。 HTTP/1.1 1997 年 1 月公布的 HTTP/1.1 是目前主流的 HTTP 协议版本。当初的标准是 RFC2068,之后发布的修订版 RFC2616 就是当前的最新版本。 HTTP/2.0 主要技术方向 TCP/IP TCP/IP的分层管理 应用层 :决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(FileTransfer Protocol,文件传输协议)和 DNS

HTTP协议

谁都会走 提交于 2020-02-04 15:15:45
HTTP介绍 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP工作原理: HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。 Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP默认端口号为80,但是你也可以改为8080或者其他端口。 HTTP三点注意事项: HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面

http协议详解

我怕爱的太早我们不能终老 提交于 2020-02-04 15:01:51
目录 简介 概述 工作原理 Http请求方法 HTTP状态码 URL HTTP请求格式 HTTP响应格式 参考: https://www.cnblogs.com/an-wen/p/11180076.html 简介 HTTP协议(HyperText Transfer Protocol, 超文本传输协议 ):是一种发布和接收 HTML页面的方法。HTTP是万维网的数据通信的基础。 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协议入门

旧城冷巷雨未停 提交于 2020-02-04 14:51:40
HTTP协议介绍   HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,只有遵循统一的 HTTP 请求格式,服务器才能正确解析不同客户端发的请求,同样地,服务器遵循统一的响应格式,客户端才得以正确解析不同网站发过来的响应。        HTTP支持无连接无状态     无连接:代表的是一次连接只能处理一次请求;     无状态:不会记录事务,代表不保存状态,HTTP协议自身不对客户端和服务器的状态进行保存,也就是说请求和响应不做持久化处理;   HTTP的特点:     1、支持客户/服务器模式;     2、简单快速;     3、灵活;     4、无连接;     5、无状态; HTTP协议内容   完整的协议包含请求和响应两块   HTTP请求     请求行       请求行主要包含:请求方法,请求地址,请求版本       请求方法包含:         GET 请求资源,将数据在地址栏中显示         POST 提交资源,封装数据在请求体中,常用于表单提交         Head 获取响应头

ASP.NET MVC / WebAPI 路由机制详解

我是研究僧i 提交于 2020-02-04 11:36:41
从MVC到WebApi,路由机制一直都在其中扮演着重要的角色。 它可以很 简单 :如果你只需要会用一些简单的路由,如/Home/Index那么你只需要配置一个默认路由就能搞定。 它可以很 神秘 :你的url可以千变万化,看到一些“无厘头”的url,很难理解它是如何找到匹配的Action,例如/api/Pleasure/1/detail,这样的url可以让你纠结半天。 它可以很 深奥 :当面试官提问“请简单分析下MVC路由机制的原理”,你可能事先就准备好了答案,然后劈里啪啦一顿(型如:UrlRoutingMoudle—>Routes—>RouteData—>RequestContext—>Controller),你可能回答的很流利,但并不一定理解这些个对象到底是啥意思。):目前为止我还没能理解透,以后会继续努力的直到弄清楚。 一、MVC和WebApi路由机制比较 1、MVC使用的路由 在MVC中,默认路由机制是通过解析url路径来匹配Action。比如:/User/GetList,这个url就表示匹配User控制器下的GetList方法,这是MVC路由的默认解析方式。为什么默认的解析方式是这样子的呢?因为MVC定义了一个默认路由,路由代码放在App_Start文件夹下的RouteConfig.cs中,今后我们如果想要自定义路由规则,那自定义路由的代码也要写在RouteConfig

雅虎前端优化的35条军规

老子叫甜甜 提交于 2020-02-04 10:42:07
内容部分 1.尽量减少HTTP请求数   80%的终端用户响应时间都花在了前端上,其中大部分时间都在下载页面上的各种组件:图片,样式表,脚本,Flash等等。减少组件数必然能够减少页面提交的HTTP请求数。这是让页面更快的关键。   减少页面组件数的一种方式是简化页面设计。但有没有一种方法可以在构建复杂的页面同时加快响应时间呢?嗯,确实有鱼和熊掌兼得的办法。   合并文件 是通过把所有脚本放在一个文件中的方式来减少请求数的,当然,也可以合并所有的CSS。如果各个页面的脚本和样式不一样的话,合并文件就是一项比较麻烦的工作了,但把这个作为站点发布过程的一部分确实可以提高响应时间。   CSS Sprites 是减少图片请求数量的首选方式。把背景图片都整合到一张图片中,然后用CSS的 background-image 和 background-position 属性来定位要显示的部分。   图像映射 可以把多张图片合并成单张图片,总大小是一样的,但减少了请求数并加速了页面加载。图片映射只有在图像在页面中连续的时候才有用,比如导航条。给image map设置坐标的过程既无聊又容易出错,用image map来做导航也不容易,所以不推荐用这种方式。   行内图片(Base64编码) 用 data: URL模式 来把图片嵌入页面。这样会增加HTML文件的大小,把行内图片放在(缓存的

Node.js 之 HTTP实现详细分析

我的梦境 提交于 2020-02-04 07:45:58
分针网每日分享:Node.js 之 HTTP实现详细分析 Node.js的强项是处理网络请求,那我们就来分析一个HTTP请求在Node.js中是怎么被处理的,以及JavaScript在这个过程中引入的开销到底有多大。 Node.js采用的网络请求处理模型是IO多路复用。它与传统的主从多线程并发模型是有区别的:只使用有限的线程数(1个),所以占用系统资源很少;操作系统级的异步IO支持,可以减少用户态/内核态切换,并且本身性能更高(因为直接与网卡驱动交互);JavaScript天生具有保护程序执行现场的能力(闭包),传统模型要么依赖应用程序自己保存现场,或者依赖线程切换时自动完成。当然,并不能说IO多路复用就是最好的并发模型,关键还是看应用场景。 我们来看“hello world”版Node.js网络服务器: require ( 'http' ) . createServer ( (req , res ) = > { res . end ( 'hello world' ) ; } ) . listen ( 3333 ) ; 代码思路分析 createServer([requestListener]) createServer创建了http.Server对象,它继承自net.Server。事实上,HTTP协议确实是基于TCP协议实现的