iOS 网络常识

DNS的含义

DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议,它提供域名到IP之间的解析服务。

一个app是如何跟服务端通信的

P15

先从DNS获取对应的IP地址 HTTP职责,生成针对服务器的HTTP请求报文 TCP协议的职责,将HTTP请求报文分割成报文段,把每个报文可靠地传给对方 IP协议的职责,搜索对方的地址,一边中转一边传给对方 TCP协议的职责,从对方那里接收的报文段,重组到达的报文段,按序号以原来的顺序重组请求报文 HTTP,对服务器请求的内容进行处理 请求的处理结果也同样利用TCP/IP通信协议向用户方向进行回传

HTTP协议的规定

HTTP协议规定,请求从客户端发出,最后服务器响应该请求并返回。换句话说,肯定是先从客户端开始建立连接通信的,服务器端在没有接收请求之前不会发送响应。 HTTP是一种不保存状态,既无状态协议。协议对于发送过的请求或响应都不做持久化处理。

告知服务器意图的HTTP/1.1方法

1)GET:获取资源 我想要访问你的某个资源 2)POST:传输实体主体 我要把这条消息告诉你 3)PUT:传输文件 我要把这个文件传给你 由于HTTP1.1的PUT方法不带有验证机制,存在安全性问题,因此一般网站不使用该方法。 4)HEAD:获取报文首部 把那个的相关信息发给我 HEAD和GET方法一样,只是不返回报文的主体部分。用于确认URI的有效性及资源更新的日期时间等。 5)DELETE删除文件 快把那个文件删掉吧。 类似PUT不带有验证性,所以一般也不会使用。 6)OPTIONS:询问支持的方法。 你支持那些方法。 OPTIONS方法用来查询针对请求的URI制定的资源支持的方法。 7)TRACE:追踪路径 TRACE方法是让服务器将之前的请求通信返回给客户端的方法。 8)CONNECT:要求用隧道协议连接代理 CONNECT方法要求在与代理服务通信时建立隧道,实现用隧道协议进行TCP通信。主要是用SSL和TLS协议把通信内容加密后经网络隧道传输。

状态码类别

状态码

类别

原因短语

1XX

信息性状态码

接收的请求正在处理

2XX

成功状态码

请求正常处理完毕

3XX

重定向状态码

需要进行附加操作已完成请求

4XX

客户端错误码

服务器无法处理请求

5XX

服务器错误码

服务器处理请求出错

代理 网管

代理:不能改变请求的URI, 回直接发送给持有资源的目标服务器。
网管:能够提高通信的安全性,能使通信线路伤的服务器提供非HTTP协议的服务.

以上都是参考《图解HTTP》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

给Buildbot加上SSL,使用Nginx做反向代理

Buildbot是一个基于Python的持续集成系统,用于自动化软件构建,测试和发布。Buildbot自带内置的Web服务器并使用8010端口,为了使用SSL保...

2025
来自专栏互联网杂技

Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecod...

2817
来自专栏hbbliyong

centos 安装sbt

1.yum install sbt 2.如果不行,则 curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rp...

4277
来自专栏飞雪无情的博客

解决Android SDK Manager不能更新的问题

今天打算更新到Android4.3,看看里面的新的API,DOC什么的,但是打开Android SDK Manager后发现不能更新,fetching更新配置文...

1362
来自专栏cloudskyme

一步一步学Mule ESB——(第二篇:Ajax篇)

待完成功能 使用Ajax请求向后端发送请求 把网页的数据转换成请求的处理流 使用XSL and Mule Transformers转换成Google API可以...

3776
来自专栏FreeBuf

一款用于发现SSRF、XXE、XSS漏洞的小工具

今天给大家介绍的是运行在我自己Web服务器中的一堆脚本,这些脚本可以帮助我快速检测SSRF、Blind XXS以及XXE漏洞,喜欢的朋友可以将它们部署到自己的环...

3614
来自专栏一个爱瞎折腾的程序猿

使用travis-ci自动部署github上的项目

如下图所示,根据需要配置构建信息 添加github的Token到环境变量中,用户名,邮箱也可添加进去,这样配置文件中就可以使用了 生成Token见步骤5...

1241
来自专栏梦魇小栈

Linux常用命令笔记

sudo vim /etc/nginx/sites-available/default

1201
来自专栏子勰随笔

在Linux服务器(ubuntu 16)上部署并配置git

2357
来自专栏JavaEdge

Spring Security 实战 - Spring Security OAuth2项目准备

1212

扫码关注云+社区