HTTP
语义浏览器与服务器软件之间的通信协议。
关键点应用程序在处理IO时,读取的就是缓存队列里的字节流,而协议定义的就是字节流的语法,方便拆解、读取字节流。
关键点所以说应用层很简单,就是应用程序双方编解码。
核心概念
MIME媒体类型
语义标记文档类型。它的类型值的表示:对象类型/子类型。例如:text/javascript、text/html、image/jpg
关键点互联网上的资源种类很多,必须标记它的数据格式。浏览器需要通过MIME类型来判断文件应该如何处理。
URI、URL、URN
- URI:服务器资源都有一个名字,资源的名字统称为统一资源标识符。
- URL:它是URI的一种,同时告诉你如何访问到互联网中的资源。
关键点URL有统一的标准语法格式,肯定会包含协议名。
- URN:统一资源名。这和C语言中的#defined宏定义概念是一样的。使用一个别名来表示一个资源的地址。即使这个资源地址变更,但是对用户来说,它是隐藏的。
版本
http/0.9
最早的协议版本。
关键点没有版本信息,因为当时只有一个版本。
关键点没有首部;只有响应中有实体。
netcat程序
一个可以与服务器建立连接的小程序。通过该程序感性的认识建立TCP连接,然后发送http请求。
- 首先第一步与服务器建立TCP连接。
关键点结果什么事情也没发生,但是客服端已经与服务器建立TCP连接,可以发送请求了。
- 发送http请求