美文网首页
http基础知识学习(第一篇)

http基础知识学习(第一篇)

作者: 毹毹 | 来源:发表于2017-11-01 16:12 被阅读12次

    图解HTTP

    1.HTTP:超文本传输协议

    2.TCP/IP:互联网相关协议的集合。

    tcp/ip分层:应用层,传输层,网络层,数据链路层。

    应用层(HTTP协议):向用户提供应用服务时通信的活动。

    例如:FTP:文本传输协议;DNS:域名系统。

    传输层(TCP协议):对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。

    例如:TCP:传输控制协议;UDP:用户数据报协议。

    网络层(IP【网际协议】协议):处理网络上流动的数据包。数据包是网络传输的最小单位。
    链路层:用来处理连接网络的硬件部分。

    例如:控制操作系统,硬件的设备驱动,NIC(网卡)及光纤。

    3.IP地址和ip协议

    ip 协议:把各种数据包传送给对方。
    ip 地址:节点呗分配到的地址,MAC:网卡所属的固定地址。MAC地址基本不会变。

    使用ARP协议凭借MAC地址进行通信。

    ARP协议:解析地址的协议,根据通信的IP地址就可以反查出对应的MAC地址。
    TCP协议三次握手策略:flag-SYN-ACK。

    发送端首先发送一个带有SYN标识的数据包给对方。接收端收到后,回传一个带有SYN/ACK标识的数据包以示传达确认信息。最后,发送端在回传一个带有ACK标志的数据包,握手结束。

    4. URI和URL

    URI:统一资源标识符;URL:统一资源定位符.

    URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置。)可见URL是URI的子集。

    URI语法示例:

    ftp://ftp.is.co.za/rfc/rfc1808.txt
    http://www.ietf.org.rfc/rfc/rfc2396.txt
    ldap://[2001:db8::7]/c=GB?objectClass?one

    URI格式:

    表示指定的URI,要使用涵盖全部必要的绝对URI,绝对URL以及相对URL。相对URL:是从浏览器中基本URI处指定的URL。

    绝对URI的格式如下表格:
    http ://user:pass @www.example.jp :80 /dir/index.html? uid=1 #ch1
    协议方案名 登录信息(认证) 服务器地址 服务器端口号 带层次的文件路径 查询字符串 片段标识符

    5.http协议用于客户端和服务器端的通信

    http协议规定,请求从客户端发出,最后服务器响应该请求并返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有接受到请求之前不会发送响应的。

    1.请求报文是从请求方法,请求URI,协议版本,可选的请求首部字段和内容实体构成。
    GET /index.htm HTTP/1.1
    Host:hackr.jp

    请求报文的构成如下表格
    方法 URI 协议版本 请求首部字段 内容实体
    POST /from/entry HTTP/1.1 Host:hackr.jp Connection:keep-alive Content-Type:application/x-www-from-urlencoded name=ueno&age=17

    响应报文由协议版本,状态码(表示请成功或者失败的数字代码)、用以解释状态码的原因短语,可选的响应首部字段以及实体主题构成。

    响应报文的构成如下表格
    协议版本 状态码 状态码的原因短语 响应首部字段 实体
    HTTP/1.1 200 OK Date :tue,10 Jul 2012 06:50:15 GMT Content-Length:362 Content-Type:text/html <html>

    6.http是不保存状态的协议

    HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说HTTP这个级别,协议对于发送的请求或者响应都不做持久化的处理。(若是想要保存状态,可以引入Cookie技术。)

    7.请求URI定位资源

    当客户端请求访问资源而发送请求时,URI需要将作为请求报文中的请求URI包含在内。

    请求URI的方式:

    ~URI为完整的请求URI GET http://hackr.jp/index.htm HTTP/1.1
    ~在首部字段Host中写明网络域名或者IP地址 GET /inedx.htm HTTP/1.1 Host :hackr.jp
    除此之外,如果不是访问特定资源而是对服务器本身发起请求,可以用一个*来代替请求URI. OPTIONS * HTTP/1.1

    相关文章

      网友评论

          本文标题:http基础知识学习(第一篇)

          本文链接:https://www.haomeiwen.com/subject/uszbpxtx.html