TCP/IP协议模型:
应用层:HTTP
传输层:TCP UDP
网络层:IPv4 IPv6
网络接口层
HTTP协议:
1. 万维网
WWW(World Wide Web)
世界范围内的,联机式的信息储藏所。
万维网解决了获取互联网上的数据时需要解决的以下问题:
1)怎样标识分布在整个互联网上的文档 URL
2)用什么样的协议实现万维网上的各种链接 HTTP
3)怎么使用户能够方便的查看文档数据 HTML
2.URL
统一资源定位符
表示从因特网上得到的资源位置和访问这些额资源的方法。
格式:
<协议>://<主机>:<端口>/<路径>
3.HTTP
HyperText Transfer Protocol
超文本传输协议
应用层
定义了万维网客户端如何想万维网服务器请求万维网文档,以及服务器怎样把文档传给客户端。
1. HTTP工作过程:
1)建立TCP连接
2)客户端向服务器发送HTTP请求报文
3)服务器向客户端发送HTTP响应报文
4)释放TCP连接
2.HTTP报文格式
请求报文:请求行、消息报头、请求正文
响应报文:状态行、消息报头、响应正文
3.请求方式
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
CONNECT 用于代理服务器
4.状态码
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
JSON格式:
键值对的集合
1)键值对 “关键字”:“字符串值”
2)对象(集合) {}
3)对象数组 []
函数接口:
char *strstr(const char *haystack, const char *needle);
功能:在源字符串中定位目标字符串
参数:
haystack:源字符串首地址
needle:目标字符串首地址
返回值:
成功:定位到的目标字符串的首地址
失败:NULL
char *index(const char *s, int c);
功能:在一个字符串中定位一个字符
参数:
s:源字符串
c:需要定位的字符
返回值:
成功:返回定位到字符的地址
失败:NULL