http和https小节

63 阅读1分钟

Hyper Text Transfer Protocol 超文本传输协议,用于从www服务器传输超文本到本地浏览器的传送协议,是一个无状态的协议

默认的HTTP 端口号是80 https是443

因为是无状态协议 所以上一次连接和下一次连接没有关系

http <-- tcp <-- ip <-- 数据链路层

image.png

http就是在tcp 的传输之上 加一些内容

1:实现两个主机不同进程之间的TCP通信 2:分析请求方法 (get / post) 3:确认方法以后 拿到请求url 4:根据请求类型 有无参数进行具体的处理

image.png

客户端请求消息格式

客户端发送一个http请求到服务器的请求消息包括以下格式

  • 请求行 (request line)
  • 请求头部(header)
  • 空行
  • 请求数据

请求行 包括请求方法(get/post)请求的url 和协议的版本(例如HTTP1.1)

POST /gateway/chuanlan/clphBpm/dbTodolist HTTP/1.1

请求头部的格式字段名+值 1:User-Angent(用户代理):产生请求的浏览器类型 2:Accept 客户端希望接受的数据类型 比如text/html 3:Content-Type:发送端发送的实体数据类型 比如text/html 4: Host:请求的主机名,允许多个域名同处一个IP地址 即虚拟主机

向百度首页发送的请求,请求方法是get,协议版本是1.1,请求的URL没有写; 请求头部里面的User-Agent就说明了,平台是Windows、引擎版本就是从AppleWebKit到Safari那么长一段,浏览器版本号就是Chrome后面跟的那一串; Content-Type是text/html(谷歌浏览器的检查里没有显示这个); Accept就是很多数据类型; Host就是百度官网的域名。

image.png