资讯专栏INFORMATION COLUMN

在浏览器输入地址后,这个世界发生了什么(http协议浅谈)

luckyw / 3073人阅读

摘要:响应组成状态消息报头响应正。状态组成服务器协议的版本,服务器发回的响应状态代码和状态代码的本描述。向指定的资源发出显示请求。向指定资源提交数据,请求服务器进行处理例如提交表单或者上传文件。回显服务器收到的请求,主要用于测试或诊断。

引言

这篇文章是我各处收集有关于http的知识,不成体系,爱看不看?,看完点赞。

我们输入网址之后发生的事情

输入网址并回车(URL 包括 协议名称 域名或者IP 端口号 请求资源具体地址 参数)
解析域名 DNS解析
浏览器发送HTTP请求
服务器处理请求
服务器返回HTML响应
浏览器处理HTML页面
继续请求其他资源

首先客户机与服务器需要建立连接,只要点击某个超级连接,HTTP的工作开始。
建立连接后,客户端发送一个请求给服务器,请求方式的格式为,统一资源标识符(URL),协议版本号,后面是MIME信息包括服务器信息、实体信息和可能的内容。
服务器收到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或者错误的代码、后面是MIME信息包括服务器信息、实体信息和可能的内容。
客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

如果以上过程任意一步出现错误,那么产生的错误信息将返回到客户端,有显示器输出。

TCP/IP协议栈

http是超文本传输协议,从www浏览器传输到本地浏览器的一种传输协议,网站是基于HTPP协议的,例如网站的图片、css、js都是基于HTTP协议进行传输的

HTTP协议是由从客户机到服务器的请求(request)和从服务器到客户机的响应(response)进行约束和规范

应用层为用户提供所需要的各种服务,例如HTTP、FTP、DNS、SMTP等。

传输层为应用层实体提供端到端的通信功能,保证数据包的顺序传递及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据协议(UDP)

网络层解决主机到主机的通信问题。IP协议是国际互联层最重要的协议

网络接口层负责数据在主机和网络之间的交换

请求和响应

HTTP请求组成:请求⾏、消息报头、请求正⽂。
HTTP响应组成:状态⾏、消息报头、响应正⽂。
请求⾏组成:以⼀个⽅法符号开头,后⾯跟着请求的URI和协议的版本。
状态⾏组成:服务器HTTP协议的版本,服务器发回的响应状态代码和状态代码的⽂本描述。

accept-Encoding 编码:数据的一种组织格式
Accept-Language: 接受的语言
Cache-Control: 缓存
Connection
Cookie
Host:主机名称

HTTP请求的几种方法

OPTIONS:这个方法可使服务器传回该资源所支持的所有HTTP请求方法。用"*"来代替资源名称,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常运作。

HEAD:与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

GET:向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在Web
Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。

POST:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

PUT:向指定资源位置上传其最新内容。

DELETE:请求服务器删除Request-URI所标识的资源。

TRACE:回显服务器收到的请求,主要用于测试或诊断。

HTTP状态码

1xx消息,表示请求已经接收,继续处理
2xx成功
3xx重定向
4xx客户端错误
5xx服务器错误

cookies与session

Cookies是保留在客户端的一小段文本,随客户端每一个请求发送该URL下的所有cookies到服务端

Session则保存在服务器端,通过唯一的值sessionID来区分每一个用户。sessionID随每个请求发送到服务器,服务器根据sessionID来识别客户端,再通过session的key 获取 session的值。

cookie使用

1、cookie将服务器设置的cookie返回到服务器

2、set-cookie 服务器向客户端设置cookie

服务端在响应消息中用Set-Cookie头将Cookie的内容回送给客户端,客户端在新的请求中将相同的内容携带在Cookie头中发送给服务端。从而实现会话的保持。

HTTP的链路安全

1、加密重要数据(密码md5)

2、对非重要数据签名 (对付爬虫)

3、使用安全连接HTTPS协议

HTTP2的优点

使用二进制格式传输,更高效、更紧筹

对报头压缩、降低成本

多路复用,一个网络连接实现并行请求

服务器主动推送,减少请求延时

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88270.html

相关文章

  • 浅谈http

    摘要:的第一部分被称为方案,说明了访问资源所使用的协议类型。状态码位于响应的起始行中。是超文本传输协议,信息是明文传输,则是具有安全性的加密传输协议。协议是由协议构建的可进行加密传输身份认证的网络协议,要比协议安全。 HTTP概述 HTTP (HyperText Transfer Protocol,超文本传输协议)。 Web是建立在HTTP协议通信的。 HTTP 是个应用层协议。HTTP ...

    Jonathan Shieber 评论0 收藏0
  • 浅谈前端安全

    摘要:安全问题的分类按照所发生的区域分类后端安全问题所有发生在后端服务器应用服务当中的安全问题前端安全问题所有发生在浏览器单页面应用页面当中的安全问题按照团队中哪个角色最适合来修复安全问题分类后端安全问题针对这个安全问题,后端最适合来修复前端安全 安全问题的分类 按照所发生的区域分类 后端安全问题:所有发生在后端服务器、应用、服务当中的安全问题 前端安全问题:所有发生在浏览器、单页面应用、...

    Cympros 评论0 收藏0
  • 浅谈前端安全

    摘要:安全问题的分类按照所发生的区域分类后端安全问题所有发生在后端服务器应用服务当中的安全问题前端安全问题所有发生在浏览器单页面应用页面当中的安全问题按照团队中哪个角色最适合来修复安全问题分类后端安全问题针对这个安全问题,后端最适合来修复前端安全 安全问题的分类 按照所发生的区域分类 后端安全问题:所有发生在后端服务器、应用、服务当中的安全问题 前端安全问题:所有发生在浏览器、单页面应用、...

    李世赞 评论0 收藏0
  • 浅谈前端安全

    摘要:安全问题的分类按照所发生的区域分类后端安全问题所有发生在后端服务器应用服务当中的安全问题前端安全问题所有发生在浏览器单页面应用页面当中的安全问题按照团队中哪个角色最适合来修复安全问题分类后端安全问题针对这个安全问题,后端最适合来修复前端安全 安全问题的分类 按照所发生的区域分类 后端安全问题:所有发生在后端服务器、应用、服务当中的安全问题 前端安全问题:所有发生在浏览器、单页面应用、...

    alexnevsky 评论0 收藏0
  • 浅谈JSONP

    摘要:就这样被发明了,利用的属性不受同源策略的控制,作弊般地巧妙地逃过了浏览器的这一限制。然后,声明这个回调函数。 这是我在13年初写的文章,当时懵懵懂懂写下了自己对JSONP的理解。 文章原文 博客 欢迎订阅 提到JSONP,我当时在网上找了无数帖子也没有看懂它。那些文章大同小异,都是讲到JSONP原理以后就戛然而止,把我们这些初学者搞得云里雾里。所以,写下这篇文章,希望对大家有帮助...

    binta 评论0 收藏0

发表评论

0条评论

luckyw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<